我有几个标记为
的类package com.salil.mypackage
private [mypackage] MyClass{
}
但是,我想在scala repl中使用它们。我尝试使用paste:-raw代码如下:
package com.salil.mypackage {
val my = new MyClass()
}
但是失败了:
<console>:1: error: illegal start of definition
在repl中访问这些类的任何方法吗?
答案 0 :(得分:1)
您可以使用REPL中的:paste -raw
毫无问题地使用它们,就像您尝试过的那样。您的问题是您的Scala无效。
这个定义是无效的语法,你缺少class
声明:
private [mypackage] MyClass
以下也是无效的语法,因为您不能将val放在包的根目录中。如果您使用package object
,可以使其正常工作。
package com.salil
package object mypackage {
val my = new MyClass()
}
scala> com.salil.mypackage.my
res12: com.salil.mypackage.MyClass = com.salil.mypackage.MyClass@56eae567