Python REPLでは、次のようなことができます。
>>> [1,2,3,4]
[1, 2, 3, 4]
>>> sum(_)
10
clojure REPLでは、これを行うことができます。
user=> "Hello!"
"Hello!"
user=> *1
"Hello!"
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
someについては、前の出力を参照できます。Scala REPL では、結果が次の形式で出力されることに気付いたでしょう。resN
N
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!
まあ、それは本当の変数名です。この例では、REPL が開いている限り、(少なくとも私の知る限りでは)リストを as として、文字列を asとして参照できます。resN
res0
res1
scala> (res0.toString + res1) toLowerCase
res2: java.lang.String = list(1, 2, 3, 4)hello!
私は通常ちょうど打つ↑</kbd> key to bring back the last line of code and carry on typing. This has the advantage of keeping the whole expression together for easy cutting-and-pasting or editing later.