Могу ли я остановить выполнение бесконечного цикла в Scala REPL? - PullRequest
26 голосов
/ 06 июня 2011

Могу ли я остановить выполнение бесконечного цикла в Scala REPL?Введите это и попробуйте остановить его, не выходя из REPL.

while(true){}

Я думал, что-то вроде Ctrl-C будет работать.

1 Ответ

12 голосов
/ 06 июня 2011

Это зависит от вашей версии Scala.Если вы уже используете Scala 2.9, он будет работать, просто используя CTRL-C.Это может занять некоторое время, пока команда не достигнет REPL, но через некоторое время прервет ваш бесконечный цикл.

Если вы используете старую версию scala (до версии 2.9).Нет способа остановить казнь.В этих версиях CTRL-C приведет к прекращению всего REPL Scala.

Изменение было введено в Scala 2.9.0.RC2.См. список изменений (часть: Улучшения в Repl) для получения дополнительной информации.

Это не работает на окнах, так как привязки клавиш Scala REPL в распределении окон scala переопределяют CTRL-C с помощью "переключателя"режим overtype ".Введите

 scala> :keybindings

в системе Windows, чтобы просмотреть весь комментарий для этой привязки.Я думаю, это ошибка в Windows.

...