私は、scala'-i'コマンドラインオプションがいくつかのscalaコードを実行し、それが定義したものを生成/検査できるようにインタラクティブシェルにダンプするのに非常に役立つことを発見しました。
しかし、私を完全に不思議に思うことが1つあります。それは、なぜスクリプトを2回ロードして実行するのでしょうか。
たとえば、カノニカルを含むファイル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>
明らかに、それを2回実行することはそれほど頭痛の種ではありませんでしたが、実行に時間がかかるスクリプトには煩わしいです([Project Euler]((https://projecteuler.net)の問題を使用してscalaを学習しています)
どういうわけか-iオプションの意図や使用法を誤解していると思います...スクリプトファイルを一度だけ実行するにはどうすればよいですか?
(FWIW、私はSqueezeのscalaパッケージを使用してDebian / Lennyを使用しています。)