我是scala的新手,在REPL中使用:paste命令时遇到异常
scala> :paste
// Entering paste mode (ctrl-D to finish)
1+2
println("welcome to scala world")
// Exiting paste mode, now interpreting.
<console>:11: warning: a pure expression does nothing in statement position; multiline expressions may require enclosing parentheses
1+2
^
welcome to scala world
scala> scala版本:Scala代码运行程序版本2.12.3-版权所有2002-2017,LAMP / EPFL和Lightbend,Inc
答案 0 :(得分:1)
这也不例外,只是一个您可以忽略的警告。它警告说,在粘贴模式下,表达式1+2
无效,结果将不会打印。
如果您要在正常模式下输入两行,则REPL将打印每个表达式的结果。
scala> 1+2
res1: Int = 3
scala> println("welcome to scala world")
welcome to scala world
警告的第二部分是针对您打算使用多行表达式的情况,其中每一行都是有效的表达式,例如
scala> :paste
// Entering paste mode (ctrl-D to finish)
1+2
-5
// Exiting paste mode, now interpreting.
<console>:48: warning: a pure expression does nothing in statement position; you may be omitting necessary parentheses
1+2
^
res1: Int = -5
与
不同scala> :paste
// Entering paste mode (ctrl-D to finish)
(1+2
-5)
// Exiting paste mode, now interpreting.
res22: Int = -2