1
여러 매개 변수 목록이있는 스칼라에서 간단한 메서드를 선언하려고합니다.여러 매개 변수 목록이있는 익명 함수
이 두 가지가 작동합니다.
scala> def add(a:Int, b:Int) = a+ b
add: (a: Int, b: Int)Int
scala> def add(a:Int)(b:Int) = a + b
add: (a: Int)(b: Int)Int
이 ...
scala> val add = (a:Int)(b:Int)=>a + b
<console>:1: error: not a legal formal parameter.
Note: Tuples cannot be directly destructured in method or function parameters.
Either create a single parameter accepting the Tuple1,
or consider a pattern matching anonymous function: `{ case (param1, param1) => ... }
val add = (a:Int)(b:Int)=>a + b
을하지 않는 그런데 왜 ... 내가 할 노력하고 모든 값에 여러 매개 변수 목록을 취하는 익명 함수를 할당하는 것입니다. 단일 매개 변수 목록에는 작동하지만 다중 매개 변수 목록에는 사용할 수 없습니다.
태닝은 나중에 올 것이다. 나는 여러 매개 변수 목록과 익명의 기능을 원한다. 'def foo (x : Int) (y : Int) '와 같이 이것은 def로 작동하지만 당신이 val에 익명의 함수를 할당 할 때 그렇지 않습니다. –
다중 매개 변수 목록 **은 ** currying입니다. 그것은 똑같은 것을 기술하는 두 가지 다른 방법 일뿐입니다. 그리고'= '기호 오른쪽의 모든 것은 전체적으로 취해지며 ** ** 익명의 기능입니다. 익명의 사용 예를 추가했습니다. – jwvh