4

何かが足りないかもしれませんが、REPLでコードを試してみると、脳よりも指の方が優れていることがわかります。

単純なクラスを定義したとしましょう(くだらない例を許してください):

scala> class Farmer(){var name = ""
     | def apply (name: String) = {this. name = name}
     | override def toString():String={name}
     | }
defined class Farmer

scala>

行ごとに再入力したり「上矢印」したりせずに、その定義全体を取得して変更する方法はありますか。たとえば、関数定義を1つ追加したいとします。

scala> class Farmer(){var name = ""
     | def apply (name: String) = {this.name = name}
     | override def toString():String={name}
     | def +(surname: String) = {name = name + " " + surname}
     | }
defined class Farmer

scala>

言い換えると、一度に1行だけではなく(上矢印を押したときのように)、前の入力から(特定の行まで)完全な複数行のエントリを再生するようにREPLに指示する方法はありますか?

「Happyland」では、を押しALTてから入力toStringしてからを押すなどの操作を行うreturnと、REPLは次のように再入力します。

scala> class Farmer(){var name = ""
     | def apply (name: String) = {this.name = name}
     | override def toString

したがって、基本的にREPLは、指定したポイントまで、コードを再入力します。

REPLの使用を私がやっていることよりも少し効率的にする方法について誰かが何かアイデアを持っているなら、私は彼らから聞いてみたいです。

4

1 に答える 1

1

コピー&ペーストはどうですか?Scalaは、あなたがreplセッションから貼り付けていることを検出し、それに応じて動作します(つまり、「scala>」と「|」は無視します)。:pasteモードを使用して作業を行うと読みやすくなります。

そうでなければ、あなたは別の担当者に満足しているかもしれません。ScalaConsoleはこの種のものにかなり適していることがわかりました。

于 2012-08-28T17:04:23.050 に答える