2011-01-07 4 views
2

'val'이라는 이름의 Java 패키지를 만들고 클래스를 넣은 다음 스칼라 프로그램에서 가져 오려고합니다. scalac은 다음 오류 메시지와 함께 실패합니다.스칼라 소스에서 'val'패키지 가져 오기

[scalac] /tmp/Hello.scala:6: error: identifier expected but 'val' found. 
[scalac] import net.slimweb.ann.val.NotEmpty 
[scalac]      ^
[scalac] one error found 

아이디어가 있습니까?

답변

14
import net.slimweb.ann.`val`.NotEmpty 

역 인용 부호는 문자 탈출하는 데 사용할 수 있습니다 예를 들어, 메소드가와라는 이름의 방법으로 키워드를 (가 기존의 자바 코드를 예약 된 이름과 심볼을 정의하거나 전화를 사용하는 것을 제외하고

scala> val `val` = 1 
val: Int = 1 

scala> class `val` 
defined class val 

을), 공백이있는 기호 나 다른 이상한 문자에도 사용할 수 있습니다.

+1

@prokoba - IttayD의 답변은 틀림없이 작동 할 수 있지만 가능한 경우 패키지 이름을 바꾸는 것이 훨씬 더 좋습니다. 다른 제안 된 이름 :'import','def','class'. \ x6a \ x6b! – Malvolio

관련 문제