2014-10-18 4 views
4

В стрижа мы можем определить функцию, как это:Затворы в карри Swift

func format(name: String)(email: String) -> String { 
     return "\(name)-\(email)" 
} 

Я хочу, чтобы определить замыкание, которое выделанной как эта функция. Но компилятор дает мне ошибку. Вот мой кэрри закрытия выглядит следующим образом:

let formatClosure = {(name: String)(email: String) -> String in "\(name)-\(email)"} 

Это просто невозможно в скор или есть какой-то другой синтаксис для этого?

+0

Не могли бы вы использовать 'let formatClosure = format'? – connor

+0

Да, я могу, но проблема заключается в определении кардинального закрытия @connor. – mustafa

ответ

2

Похоже, что краткая версия, доступная для прямых функций, не работает для замыканий. Вы все равно можете сделать это, используя слегка расширенный синтаксис.

let formatClosure = {(name: String) -> String -> String in { email in "\(name)-\(email)" } } 
Смежные вопросы