Scala 関数

in  

Scalaの関数についてです。

eta-expansion

関数とメソッドは異なるものです。 関数はFirst Class, メソッドはそうではありません。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// メソッド
def hoge(v: String) : String = v
// 関数
val fuga: String => String = (v) => v

println(hoge("hoge"))
println(fuga("fuga"))

// Eta expansion
val moge = hoge _

println(moge("moge"))
1
2
3
hoge
fuga
moge

Share