web-dev-qa-db-ja.com

Scalaファイルをインタープリターにロードして関数を使用しますか?

いくつかのScalaクラスではなくファイルで定義された関数があり、それらをScalaインタープリターで使用したいと思います。 scala filename.scala単にファイルを実行してインタープリターを終了しますが、ファイルを実行してからインタープリターに留まりたいので、テストを行うことができます。インタープリターにファイルをロードして、その中で定義された関数を使用する方法を教えてもらえますか?

75
user550617

タイプ:load /path/to/file in Scala REPL。

:helpと入力すると、使用可能なコマンドの完全なリストを取得できます。

95
Jamil

場合によっては、:pasteが(:loadよりも)親友かもしれません。 :pasteの使用方法の例を次に示します。

scala> :paste
// Entering paste mode (ctrl-D to finish)

if (true)
  print("that was true")
else
  print("false")

[Ctrl-D]

// Exiting paste mode, now interpreting.

that was true

次のコマンド:pasteを使用して、:paste [path]を使用してファイルをロードすることもできます。

scala> :paste ~/Desktop/repl_seeder.scala
Pasting file ~/Desktop/repl_seeder.scala...
defined object test1

scala> test1.main(Str)
my first scala program
18
Suresh Babu

念のため、完全なパスを入力してください。私は次のようにしてLinuxで問題を見つけました:

:load〜/ fileName.scala

「そのファイルは存在しません」というエラーを取り除くために

:load /complete/path/fileName.scala

4
Esmaeil MIRZAEE