0
클래스를 스칼라로 정의한 후에는 내가 만드는 객체가 다른 유형 인 것처럼 보입니다. 개체의 ListBuffer를 만들려고합니다. 스칼라 명령 행에서 시험해보기. 누군가 이것을 설명 할 수 있습니까?스칼라 : 같은 클래스의 오브젝트에 다른 유형이 있습니까?
아래 예제에서는 class z
을 만듭니다. 이것은 현재의 불꽃 쉘 구현의 유물 인 ListBuffer
scala> class z()
defined class z
scala> var p = new z()
p: this.z = [email protected]
scala> var q = new z()
q: this.z = [email protected]
scala> var LB = ListBuffer[z](p,q)
<console>:19: error: type mismatch;
found : this.z
required: this.z
var LB = ListBuffer[z](p,q)
^
<console>:19: error: type mismatch;
found : this.z
required: this.z
var LB = ListBuffer[z](p,q)
^
REPL에서 이것을 시도하셨습니까? p와 q를 정의한 후 첫 번째 줄 (클래스 z를 다시 정의)을 다시 실행하면 이는보고있는 일종의 오류를 생성 할 수 있습니다. 깔끔한 달리기에서, 나는 문제를 일으키지 않는다. – Shadowlands
나는 스파크 껍질에서 이것을 달리고있다. 그것은 차이를 만듭니다. 그것은 Scala2.9.3을 실행하고 있습니다. – Vijay
나는 그것을 추측하고 있습니다. 그러나 나는 확실히 말할 수 없습니다. 다시 설정하고 코드를 다시 실행 해보십시오. 모든 행을 반복하지 않아야합니다. 재설정 할 수 있다고 가정합니다 (sbt의 콘솔에서': reset'을 입력하십시오). – Shadowlands