我可以在Scala REPL中停止执行无限循环吗?

时间:2011-06-06 07:22:37

标签: scala read-eval-print-loop

我可以在Scala REPL中停止执行无限循环吗? 输入此内容并尝试在不退出REPL的情况下停止它。

while(true){}

我觉得像Ctrl-C这样的东西会起作用。

1 个答案:

答案 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上的一个错误。