scala – 我可以修改我之前在REPL中键入的代码吗?
发布时间:2020-12-16 19:24:43 所属栏目:安全 来源:网络整理
导读:也许我错过了一些东西,但我发现在REPL中试验代码对于我的手指来说比对我的大脑更好. 假设你已经定义了一个简单的类(请原谅这个糟糕的例子): scala class Farmer(){var name = "" | def apply (name: String) = {this. name = name} | override def toString
也许我错过了一些东西,但我发现在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从前一个输入(直到某一行)重放完整的多行条目,而不是一次只重放一行(按下向上箭头时)? 在“快乐的土地”中做一些事情会很好,按下ALT然后输入toString然后点击返回,然后REPL将重新输入: scala> class Farmer(){var name = "" | def apply (name: String) = {this.name = name} | override def toString 因此,基本上REP??L会为您重新定义代码,直到您指定的点. 如果有人对如何使用REPL有任何想法比我正在做的更有效,我很乐意听取他们的意见. 解决方法
如何复制和粘贴? Scala将检测到您正在从repl会话粘贴,并相应地执行操作(即忽略“scala>”和“|”).虽然如果你使用它更具可读性:粘贴模式来做东西.
否则,你可能会对另一个repl更开心.我发现ScalaConsole对于这种东西非常好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |