在蟒蛇REPL我可以做这样的事情:如何访问Scala REPL中的最后一个结果?
>>> [1,2,3,4]
[1, 2, 3, 4]
>>> sum(_)
10
用Clojure REPL我可以这样做:
user=> "Hello!"
"Hello!"
user=> *1
"Hello!"
有是这样的斯卡拉REPL?
在蟒蛇REPL我可以做这样的事情:如何访问Scala REPL中的最后一个结果?
>>> [1,2,3,4]
[1, 2, 3, 4]
>>> sum(_)
10
用Clojure REPL我可以这样做:
user=> "Hello!"
"Hello!"
user=> *1
"Hello!"
有是这样的斯卡拉REPL?
是的,你可以使用点符号来引用最后的结果:
scala> List(1,2,3,4)
res0: List[Int] = List(1, 2, 3, 4)
scala> .sum
res1: Int = 10
您可以参考以前的输出resN
一些N
。您可能已经注意到,在斯卡拉REPL,结果被打印在表格resN: 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!
嗯,这resN
是一个真正的变量名。在这个例子中,你可以参考清单为res0
和字符串作为res1
(至少据我所知)只要REPL是开放的:
scala> (res0.toString + res1) toLowerCase
res2: java.lang.String = list(1, 2, 3, 4)hello!
我通常只是打↑关键是要带回最后一行代码并继续打字。这具有将整个表达式保持在一起以便于稍后剪切粘贴或编辑的优点。