gpt4 book ai didi

scala - 我可以修改我之前在 REPL 中输入的代码吗?

转载 作者:行者123 更新时间:2023-12-04 07:32:37 27 4
gpt4 key购买 nike

也许我遗漏了一些东西,但我发现在 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然后点击 return ,然后 REPL 将重新键入:
scala> class Farmer(){var name = ""
| def apply (name: String) = {this.name = name}
| override def toString

所以基本上 REPL 会为你重新输入你的代码,直到你指定的点。

如果有人对如何使 REPL 的使用比我正在做的更有效率有任何想法,我很乐意听取他们的意见。

最佳答案

复制粘贴怎么样? Scala 会检测到您正在从 repl session 中粘贴,并采取相应措施(即,忽略“scala>”和“|”)。尽管如果您使用 :paste 模式来做事情,它会更具可读性。

否则,您可能会对另一个副本更满意。我发现 ScalaConsole非常适合这种东西。

关于scala - 我可以修改我之前在 REPL 中输入的代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162475/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com