2012-06-15 28 views

Trả lời

17

Để tạo hàm curried ghi nó như thể nó là nhiều hàm (thực sự là trường hợp ;-)).

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

Điều này có nghĩa là bạn có hàm từ Int đến hàm từ Int đến Int.

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

cách khác bạn có thể viết nó như thế này:

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

Biểu thức cuối cùng là một hàm có tên, làm thế nào chúng ta có thể viết giống như một chức năng ẩn danh? –

+0

Trong biểu thức cuối cùng, biểu tượng "=>" hoạt động như thế nào? x => y => x * y –

+0

Bạn phải có thứ gì đó mà bạn muốn chuyển hàm. nếu bạn có một method/function như 'def foo (f: Int => Int => Int)' bạn có thể gọi nó như 'foo (x => y => x * y)'. – drexin

Các vấn đề liên quan