shell - scala -i 命令行选项应该做什么?

标签 shell command-line scala debian interactive

我发现 scala '-i' 命令行选项对于运行一些 scala 代码非常有用,然后将我转储到交互式 shell 中,以便我可以生成/检查它定义的内容。

有一件事让我完全困惑:为什么它会加载并运行脚本两次?

例如,给定文件 test.scala 包含规范

println("Hello world")

正在运行

scala -i test.scala

产生:

$ scala -i test.scala
Loading test.scala...
Hello world

Loading test.scala...
Hello world

Welcome to Scala version 2.7.5final (Java HotSpot(TM) Client VM, Java 1.6.0_12).
Type in expressions to have them evaluated.
Type :help for more information.

scala>

显然运行两次并不是太令人头疼,但对于需要一段时间才能运行的脚本来说却很烦人(我正在使用 [Project Euler](( https://projecteuler.net ) 问题来学习 scala)

我认为我以某种方式误解了 -i 选项的意图或用法...如何让我的脚本文件只运行一次?

(FWIW,我在 Debian/Lenny 上使用 Squeeze 的 scala 包。)

最佳答案

-i 选项的文件双重加载是 Scala 2.7 中的一个众所周知的错误。它长期固定在 2.8 开发主干中。

RRS

关于shell - scala -i 命令行选项应该做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1683647/

相关文章:

linux - 使用 expect 在远程机器上运行脚本

command-line - Electron 第二实例的命令行参数已损坏?

javascript - 在 Dojo 根之外对 JavaScript 函数进行 DOH 命令行测试

regex - 使用linux命令获取第10列具有负值的行

scala - 使多项目 sbt 项目中的测试仅在依赖项目中的测试通过时才运行

Scala - 与条件语句的模式匹配?

postgresql - 没有可用的隐式 session Scala Slick

bash - 将命令行参数传递给 shell 脚本不起作用

windows - 在 Windows Shell 中将包含 *(星号)字符的字符串作为命令行参数传递

linux - 如何在 Linux 中将每天的文件分成几小时