如何将包导入 Scala 的 REPL?
我正在尝试导入这个名为 funsets 的包,它有一个名为“FunSets”的对象。
我尝试了 import funsets._
的几种变体和 import funsets._;
等等,但它仍然没有导入包中的函数和对象。
最佳答案
一种方法是编译“scala 类”并将它们放入 classpath
.
例子,
1) 假设你有一个类(class) funsets.FunSets.scala
package funsets
object FunSets {
def fun = "very fun"
}
2) 首先使用
scalac
编译类. (如果你使用 sbt
那么 sbt compile
会将编译后的类放在 target/
文件夹中)scalac FunSets.scala
您将看到
funsets
创建的文件夹/包,$ ls -l
total 16
-rw-r--r-- 1 updupd NA\Domain Users 63 Dec 18 11:05 FunSets.scala
drwxr-xr-x 4 updupd NA\Domain Users 136 Dec 18 11:06 funsets
3) 然后用
funsets
启动 REPL类路径中的包 $ scala -classpath .
Welcome to Scala 2.12.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151).
Type in expressions for evaluation. Or try :help.
scala> import funsets._
import funsets._
注意:如果您使用
sbt compile
, 放 target/classes
在类路径中。访问 Funsets 单例,
scala> FunSets.fun
res0: String = very fun
另请阅读 Scala REPL unable to import packge
关于scala - 如何将包导入 Scala REPL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47874731/