class X extends Map[String, String] {
def x(): X = { X() } // can't be compiled
}
이
컴파일 할 수없는 오류는 다음과 같습니다왜이 간단한 스칼라 예제를 컴파일 할 수 없습니까?
<console>:6: error: not found: value X
def x(): X = { X() } // can't be compiled
이
왜 X가 를 찾을 수 없습니다 ? 나는 그것을 고칠 수있는 방법을 볼 수 없습니다.
UPDATE :
는 지금 이유를 알고있다. 내가하려는 것은 HashMap
을 확장하는 클래스를 만드는 것입니다. Map()
은 HashMap
의 인스턴스를 반환 할 것이기 때문에 Map
을 확장 할 수 있다고 생각합니다. 이제 올바른 코드가 있어야한다 :
import scala.collection.immutable.HashMap
class X extends HashMap[String, String] {
def x(): X = { new X() }
}
으로 이전했습니다. Kevin Wright님께서는 아주 좋은 답장을 보내 주셨습니다. 스칼라 2.8 콜렉션을 확장/생성하는 것만으로 초점을 맞추는 또 다른 의문점을 만드는 것을 고려해보십시오. 특히 "un-bury"문제가 있습니다. –
@pst, 좋은 제안이지만, 지금은 스칼라에 너무 익숙하지 않습니다. 나는 그 질문을하는 법을 모릅니다. – Freewind