Подтвердить что ты не робот

Могу ли я остановить выполнение бесконечного цикла в Scala REPL?

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

while(true){}

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

4b9b3361

Ответ 1

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

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

Изменение было введено с помощью scala 2.9.0.RC2. Подробнее см. журнал изменений (часть: улучшения комментариев).

Это не работает на окнах, так как привязки scala REPL в scala переопределяют дистрибутивы Windows CTRL-C с "переключением режима переустановки". Тип

 scala> :keybindings

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