如何退出Scala 2.11.0 REPL?


135

在最新版本的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>

Answers:


233

我在升级时遇到了相同的问题,只是使用冒号q。

:q

此外,exit在2.10.x中已弃用,sys.exit建议使用,因此也可以正常工作:

sys.exit

附带说明一下,我认为他们这样做是为了区分在sbt中退出scala控制台和退出sbt本身,尽管我可能是错的。


39

您可以按照以下答案中的说明离开REPL:

:quit
:q

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

sys.exit

现在没有Windows机器可供我使用。@GovindSinghNagarkoti 什么对您有效?
Andreas Neumann

@AndreasNeumann其他人都为我工作,除了ctrl+d我正在使用windows 7
Govind Singh

我正在使用Windows 10并安装了Cygwin:ctrl+d可以,但ctrl+z不能。不知道这是否与Cygwin有关。
DrewJordan '16

ctrl-c也会退出该repl,这很烦人,因为在实际上每隔一个repl它都会取消当前行
Michael Hewson

13

使用文件末尾的字符。Ctrl-D在Linux和Ctrl-ZWindows上。

:help在2.10.3 REPL上使用命令可以得到以下提示:

:quit        exit the interpreter

我不知道:quit2.11.0 是否仍然存在。


1
如果您使用sbt,ctl-D将使您退出任一命令提示符。这就是我从某个时候开始做的。:q vs exit事情让我发疯。你能告诉?
som-snytt 2014年

您也可以使用java.lang.System.exit(0);
Elliott Frisch 2014年

2
@ElliottFrisch当然,我每次
都想

3

exit在2.10.4中使用时,出现警告:

警告:有1个弃用警告;使用-deprecation重新运行以获取详细信息

您可以使用:

:q
:quit
sys.exit

它们都在2.11.x中工作。


2

您可以使用sys.exit或:q退出外壳


1
几年前在对这个问题的先前回答中已经指出了这一点。
jwvh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.