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

10-16 20:44