我可以在Scala REPL中停止执行无限循环吗? 输入此内容并尝试在不退出REPL的情况下停止它。
while(true){}
我觉得像Ctrl-C这样的东西会起作用。
答案 0 :(得分:12)
这取决于你的scala版本。如果你已经在scala 2.9上,只需使用CTRL-C即可。命令到达REPL可能需要一些时间,但它会在某个时间中止你的无限循环。
如果你使用旧版本的scala(2.9之前)。没有办法停止执行。在这些版本上,CTRL-C将导致终止整个scala REPL。
Scala 2.9.0.RC2引入了这一变化。有关详细信息,请参阅changelog (part: Repl Improvements)。
这不适用于Windows,因为scala窗口分发的Scala REPL键绑定会使用“切换改写模式”覆盖CTRL-C。型
scala> :keybindings
在Windows系统上查看此绑定的整个注释。我猜这是Windows上的一个错误。