8

(l: Int) (l: int) の代わりに (l: int) がパラメーターに入力されている例を以下に示します。

 scala> class Rectangle (l:int, w: Int){
 | val length = l
 | val length = w
    .
    .
    .
    few more lines but still ... module Rectangle is not defined. Or sometimes enter command given and error shows up.

とにかく、その入力エラーを直接編集/変更してコードを再実行できる場所はありますか? それ以外の場合は、上/下矢印を使用して行ごとに入力しています。

ガイドしてください。

4

3 に答える 3

4

より良い解決策があるかどうかはわかりませんが、私の場合、通常のテキストエディタを使用してコードスニペットを記述し、REPLの貼り付けモードを使用して貼り付ける傾向があります(:pasteコマンドのおかげで貼り付けモードに入ることができます) 。

于 2012-06-06T11:13:38.207 に答える
1

Scala 2.13.2 以降、JLine 3 に基づく REPL で複数行の編集がサポートされています。

JLine 3 は、複数行の編集、より優れたタブ補完 UI などをサポートしています。

-Xjline:emacs(デフォルト) または-Xjline:vi;でキーバインドを構成します。で無効にする-Xjline:off

履歴ファイルは現在~/.scala_history_jline3

たとえば、vim キーバインドを使用して複数行の編集を試みるには、次のように REPL を開始します。

scala -Xjline:vi

次に複数行の定義を入力し、上矢印キーを押します。それがどのように与えるかに注意してください

scala> class Foo {
     |   val x = 42
     | }
class Foo

scala> class Foo {
     |   val x = 42
     | }

古い動作の代わりに

scala> class Foo {
     |   val x = 42
     | }
defined class Foo

scala> }
于 2020-03-29T00:49:54.470 に答える