我发现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,我使用的是Squeeze的scala软件包,在Debian / Lenny上。)
最佳答案
赋予-i选项的文件两次加载是Scala 2.7中的一个众所周知的错误。它长期固定在2.8开发主干中。
RRS
关于shell - scala -i命令行选项应该做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1683647/