2012-03-27 2 views
0

스칼라 IDE에서 나는 다음과 같은 코드를 가지고 : 나는 클래스 Z에서 사용할 수 있도록스칼라 - 내부 클래스를 가져

package pkg.one 

object S { 
    class A 
} 

class S { 
    import pkg.one.S.A //all ok 
} 

package pkg.two 

class Z(a: A)  //error 

가 어떻게이 클래스를 가져올 수 있습니다 ? Scala IDE는 import pkg.one.S$.Aimport pkg.one.S.A의 두 가지 솔루션을 제공합니다. 첫 번째 것은 그 자체로 단순한 오류이며 두 번째 솔루션은 해당 클래스를 찾을 수 없다고 말하기 때문에 작동하지 않습니다. import pkg.one.S#A 종류의 가져 오기도 있지만 IDE에서는 '#'기호를 오류로 간주합니다. 필자는이 문제를 해결하는 방법을 이해하지 못했고, 스칼라 내부 클래스 가져 오기에 대한 일반적인 정보를 읽었습니다. 제 사례는 합법적 인 것으로 보입니다.

답변

1

(SBT를 통해) scalac을 사용하면 작업 해결책은 import pkg.one.S.A입니다. 현재, Scala-Ide Eclipse 플러그인은 때로는 상상적인 오류를보고 ... IDE를 피하는 경향이 있습니다. Java를 많이 사용하는 거대한 프로젝트에서 사용할 때, SBT가있는 터미널에서 모든 컴파일 작업을 수행합니다.

1

레코드 용으로는 Scala 2.9.x 용 스칼라 IDE 2.0.0 (업데이트 사이트 : http://download.scala-ide.org/releases-29/stable/site)으로 잘 작동합니다.

Z 클래스 선언이 적용되기 바로 전에 import pkg.one.S.A을 추가하십시오. 어떤 버전을 사용하고 있습니까? (아마도 이것을 scala-ide-user ML 이상으로 논의하는 것이 더 낫다)

관련 문제