【问题标题】:Load Scala file into interpreter to use functions?将 Scala 文件加载到解释器中以使用函数?
【发布时间】:2011-11-15 01:18:51
【问题描述】:

我在文件中定义了一些 Scala 函数,而不是在类中,我想在 Scala 解释器中使用它们。我知道我可以说scala filename.scala 来简单地运行文件并退出解释器,但我想运行文件然后留在解释器中,以便进行一些测试。谁能告诉我如何简单地将文件加载到解释器中,以便我可以使用其中定义的函数?

【问题讨论】:

  • :load /path/to/file in scala REPL
  • 太棒了,这正是我想要的。不知道为什么这么难找。
  • Jamil,请将此作为答案发布,以便 Bea Metitiri 将其标记为答案。

标签: scala interpreter


【解决方案1】:

在 Scala REPL 中键入 :load /path/to/file

您可以通过输入:help获取可用命令的完整列表

【讨论】:

  • 这似乎一次评估一个定义,如果文件具有密封特征或前向引用,则该定义不起作用。正如 Suresh 的回答中提到的,:paste /path/to/file 效果更好。
【解决方案2】:

有时,: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

【讨论】:

    【解决方案3】:

    提醒一下,放完整路径。我通过这样做在 Linux 中发现了问题:

    :加载~/fileName.scala

    为了摆脱错误“那个文件不存在”我做了

    :load /complete/path/fileName.scala

    【讨论】:

    • 这只是个问题,因为 Scala 不知道如何将 ~ 扩展到您的主目录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多