6

私は頻繁に Scala コンソールを使用して、実際にプロジェクトにコードを書き留める前にコードを評価およびテストします。変数の内容を知りたい場合は、入力するだけで scala が評価します。しかし、入力したメソッドのコードを表示する方法もありますか?

単一行を表示する UP キーがあることは知っていますが、私が探していたのは、コード全体を一度に表示することです。

4

2 に答える 2

7

.scala_history最近のすべての REPL 履歴を含む、という名前のホーム ディレクトリにファイルがあります。このファイルから定期的にコードをコピーして、プロジェクトのソース ファイルに貼り付けます。REPL で個々のメソッドのコードを表示するのとまったく同じではありませんが、同じ目標を達成するのに役立つ場合があります。

REPL のいくつかの関連する機能についての議論については、この号のPaul Phillips によるコメントを参照してください(履歴のグループ化ステートメント)。

ある時点でこのロジックを実装しましたが、本当の障害は jline です。最も単純な条件下では、カーソルがどこにあるかを把握するのに十分な問題があります。大きな複数行のブロックを履歴に投入し始めると、壊れてしまいます。これと SI-2547 がコミュニティによって対処されるのを楽しみにしています。

...

これもすぐに修正できると思いますが、最近の jline の作業がどれだけうまくいくかにかかっています。私はずっと前にそれを実装しましたが、表示の問題が障害です。

これらのコメントはどちらも 2 年以上前のものなので、息を止めません。

于 2012-07-19T13:28:39.127 に答える
1

コマンドラインからすべてのコードをロードするコマンドがわかりません。あなたができることは、:load path/to/my/file.scalaいくつかの複雑なコードをロード:loadし、ファイル内のコードを変更したときにそれを再実行することです。

于 2012-07-19T13:26:48.657 に答える