繁体   English   中英

如何在Scala REPL中访问最后的结果?

[英]How can I access the last result in Scala REPL?

在python REPL中我可以做以下事情:

>>> [1,2,3,4]
[1, 2, 3, 4]
>>> sum(_)
10

在clojure REPL中,我可以这样做:

user=> "Hello!"
"Hello!"

user=> *1
"Hello!"

Scala REPL中有类似的东西吗?

是的,您可以使用点表示法来引用最后的结果:

scala> List(1,2,3,4)
res0: List[Int] = List(1, 2, 3, 4)

scala> .sum
res1: Int = 10

对于某些N您可以将前一个输出称为res N 您可能已经注意到,在Scala REPL中,结果以res N : Type = value的形式打印:

Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_24).
Type in expressions to have them evaluated.
Type :help for more information.

scala> List(1,2,3,4)
res0: List[Int] = List(1, 2, 3, 4)

scala> "Hello!"
res1: java.lang.String = Hello!

那么, res N是一个真正的变量名。 在这个例子中,只要REPL打开,你就可以将列表称为res0 ,将字符串称为res1 (至少据我所知):

scala> (res0.toString + res1) toLowerCase
res2: java.lang.String = list(1, 2, 3, 4)hello!

我通常只需按键即可返回最后一行代码并继续输入。 这样做的好处是可以将整个表达式保持在一起,以便以后轻松剪切和粘贴或编辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM