1
Я пытаюсь объявить простой метод в scala с несколькими списками параметров.анонимная функция с несколькими списками параметров
Эти две работы.
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