Как выйти из 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>

Ответы:


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.


2

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


1
На это уже указывалось много лет назад в предыдущих ответах на этот вопрос.
JWVH
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.