Учитывая эту простую функцию каррирования:
func foo(x:Int)(y:Int)->String{
return "\(x) with \(y)"
}
Я ожидаю, что смогу сделать что-то вроде этого:
let bar = foo(1)
bar(2) //<- error: Missing argument label 'y:' in call
Если я отмечаю вызов bar
(как в bar(y:2)
), все работает нормально. Но я не понимаю, почему имя параметра необходимо. Есть ли способ избежать этого?
Очевидная вещь:
func foo(x:Int)(_ y:Int)->String ...
похоже, не работает.