2012-06-15 16 views

答えて

17

を、それが複数の機能であるかのようにそれを書くカリー化関数を作成するには(それが;-)実際にケースです)。

scala> (x: Int) => (y: Int) => x*y 
res2: Int => Int => Int = <function1> 

これは、IntからIntからIntの関数に関数があることを意味します。

scala> res2(3) 
res3: Int => Int = <function1> 

代わりに、あなたはこのようにそれを書くことができます。

scala> val f: Int => Int => Int = x => y => x*y 
f: Int => Int => Int = <function1> 
+0

最後の式は、名前の関数であり、我々は無名関数と同じで書くことができますか? –

+0

最後の式では、シンボル "=>"はどのように機能していますか? x => y => x * y –

+0

関数を渡したいものが必要です。 'def foo(f:Int => Int => Int)'のようなメソッド/関数があれば 'foo(x => y => x * y)'のように呼び出すことができます。 – drexin

関連する問題