我发现scala'-i'命令行选项对于运行一些scala代码然后将我转储到交互式shell中非常有用,因此我可以生成/检查它定义的内容.
有一件事让我完全神秘:为什么它加载并运行脚本两次?
例如,给定文件test.scala包含cannonical
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