如何将包导入 Scala REPL?
How to import package into Scala REPL?
如何将包导入 Scala 的 REPL?
我正在尝试导入这个名为 funsets 的包,它有一个名为 "FunSets" 的对象。
我尝试了 import funsets._
和 import funsets._;
等的几种变体,但它仍然没有导入包中的函数和对象。
您还需要在启动 repl 时使用 -cp <jar files>
参数将适当的 jar 添加到类路径中。或者,您可以在启动会话后使用 repl 中的 :require <jar file>
指令加载 jar。
一种方法是编译 "scala classes" 并将它们放入 classpath
.
例如,
1) 假设你有一个 class funsets.FunSets.scala
package funsets
object FunSets {
def fun = "very fun"
}
2) 首先使用 scalac
. 编译 class (如果你使用 sbt
然后 sbt compile
将编译classes 在 target/
文件夹中)
scalac FunSets.scala
您将看到 funsets
folder/package 已创建,
$ 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) 然后在classpath
中用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
放在class路径中。
访问 Funsets 单例,
scala> FunSets.fun
res0: String = very fun
另读Scala REPL unable to import packge
假设您在 scala 文件中有一些代码,您可以使用 :load
命令从 scala repl 加载外部 scala 文件。更多信息 in this answer.
如何将包导入 Scala 的 REPL?
我正在尝试导入这个名为 funsets 的包,它有一个名为 "FunSets" 的对象。
我尝试了 import funsets._
和 import funsets._;
等的几种变体,但它仍然没有导入包中的函数和对象。
您还需要在启动 repl 时使用 -cp <jar files>
参数将适当的 jar 添加到类路径中。或者,您可以在启动会话后使用 repl 中的 :require <jar file>
指令加载 jar。
一种方法是编译 "scala classes" 并将它们放入 classpath
.
例如,
1) 假设你有一个 class funsets.FunSets.scala
package funsets
object FunSets {
def fun = "very fun"
}
2) 首先使用 scalac
. 编译 class (如果你使用 sbt
然后 sbt compile
将编译classes 在 target/
文件夹中)
scalac FunSets.scala
您将看到 funsets
folder/package 已创建,
$ 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) 然后在classpath
中用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
放在class路径中。
访问 Funsets 单例,
scala> FunSets.fun
res0: String = very fun
另读Scala REPL unable to import packge
假设您在 scala 文件中有一些代码,您可以使用 :load
命令从 scala repl 加载外部 scala 文件。更多信息 in this answer.