我发现 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/