我有一些在文件中定义的Scala函数,不是在类中定义的,并且我希望在Scala解释器中使用它们。我知道可以通过说scala filename.scala
来运行文件并退出解释器,但是我想要运行文件然后留在解释器中,以便我可以进行一些测试。有没有人告诉我如何将文件简单地加载到解释器中,以便我可以使用其中定义的函数?
我有一些在文件中定义的Scala函数,不是在类中定义的,并且我希望在Scala解释器中使用它们。我知道可以通过说scala filename.scala
来运行文件并退出解释器,但是我想要运行文件然后留在解释器中,以便我可以进行一些测试。有没有人告诉我如何将文件简单地加载到解释器中,以便我可以使用其中定义的函数?
在 Scala REPL 中输入 :load /path/to/file
命令,可以加载指定路径的文件。
要获取可用命令的完整列表,请键入 :help
命令。
:paste /path/to/file
更好地实现了这一点。请使用它进行操作。 - Brian McCutchon有时候,:paste
可能比 :load
更好用。这里是一个如何使用 :paste 的示例。
scala> :paste
// Entering paste mode (ctrl-D to finish)
if (true)
print("that was true")
else
print("false")
[Ctrl-D]
// Exiting paste mode, now interpreting.
that was true
使用 :paste
命令可以加载文件,命令格式为 :paste [path]
scala> :paste ~/Desktop/repl_seeder.scala
Pasting file ~/Desktop/repl_seeder.scala...
defined object test1
scala> test1.main(Str)
my first scala program
提醒一下,要输入完整路径。我在Linux中发现了一个问题,就是这样做:
:load ~/fileName.scala
会出现错误消息 "That file does not exist"。为了解决这个问题,我执行了以下操作:
:load /complete/path/fileName.scala
~
扩展到您的主目录。 - Shane Bishop:load foo/bar/baz.scala
,至少在今天它是可以工作的。 - 18446744073709551615
:load /path/to/file
的意思是加载指定路径下的文件并在REPL中运行它。 - Jamil