Как выйти из Scala 2.11.0 REPL?

136

В последней версии scala (2.10.3) REPL я могу exitвыйти из REPL. Однако в Scala 2.11.0 это не работает.

$ scala
Welcome to Scala version 2.11.0 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_51).
Type in expressions to have them evaluated.
Type :help for more information.

scala> exit
<console>:8: error: not found: value exit
              exit
              ^

scala>
Billz
источник

Ответы:

234

Я столкнулся с той же проблемой при обновлении, просто используйте двоеточие q.

:q

Кроме того, exitбыло объявлено устаревшим в 2.10.x с sys.exitпредложенным вместо этого, так что это работает также:

sys.exit

Как примечание, я думаю, что они сделали это, чтобы вы могли различить выход из консоли scala в sbt и выход из самого sbt, хотя я могу ошибаться.

Ной
источник
39

Вы можете оставить REPL, как указано в ответах ранее:

:quit
:q

Ctrl + d // Unix
Ctrl + z // Windows

sys.exit
Андреас Нойманн
источник
У меня нет машины Windows в моем распоряжении прямо сейчас. @GovindSinghNagarkoti. Что работает для вас?
Андреас Нойманн
@AndreasNeumann все остальные работают для меня, за исключением ctrl+d, я используюwindows 7
Говинд Сингх
Я использую Windows 10 и у меня установлен Cygwin: ctrl+dработает, но ctrl+zне работает. Не уверен, связано ли это с Cygwin или нет.
DrewJordan
Ctrl-C также выходит из repl, что раздражает, потому что буквально в каждом другом repl он отменяет текущую строку
Майкл Хьюсон
13

Используйте символы конца файла. Ctrl-Dв Linux, Ctrl-Zв Windows.

Использование :helpкоманды в моем 2.10.3 REPL дает мне эту подсказку:

:quit        exit the interpreter

Я не знаю, :quitесть ли еще в 2.11.0 или нет, хотя.

Моя другая машина - кадр
источник
1
Если вы используете sbt, ctl-D выведет вас из любой командной строки. Это то, что я начал делать в какой-то момент. Вопрос: q против выхода просто сводил меня с ума. Ты можешь сказать?
Сом-Снитт
Вы также можете использоватьjava.lang.System.exit(0);
Эллиот Фриш
2
@ElliottFrisch, конечно, я чувствую, что каждый раз
набираю
3

Когда я использую exitв 2.10.4, я получил предупреждение:

предупреждение: было 1 предупреждение об устаревании; повторно запустите с -deprecation для деталей

Ты можешь использовать:

:q
:quit
sys.exit

все они работают в 2.11.x.

xring
источник
2

Вы можете использовать sys.exit OR: q для выхода из оболочки

азбука
источник
1
На это уже указывалось много лет назад в предыдущих ответах на этот вопрос.
JWVH