也许我遗漏了一些东西,但我发现在 REPL 中试验代码对我的手指比对我的大脑更好。
假设您已经定义了一个简单的类(请原谅蹩脚的例子):
scala> class Farmer(){var name = ""
| def apply (name: String) = {this. name = name}
| override def toString():String={name}
| }
defined class Farmer
scala>
有没有办法获得整个定义并对其进行更改,而无需逐行重新输入或“向上箭头”。例如,假设我只想添加一个函数定义:
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>
换句话说,有没有办法告诉 REPL 从前一个输入重播完整的多行条目(直到某一行),而不是一次只重播一行(就像按下向上箭头时发生的那样)?
在 'Happy land' 中,做一些类似的事情会很好,按下ALT
然后输入toString
然后点击return
,然后 REPL 将重新输入:
scala> class Farmer(){var name = ""
| def apply (name: String) = {this.name = name}
| override def toString
所以基本上 REPL 会为你重新输入你的代码,直到你指定的点。
如果有人对如何使使用 REPL 比我正在做的事情更有效率有任何想法,我很乐意听取他们的意见。