簡體   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