Передача функции в качестве первого аргумента в вызове функции в coffeescript В следующем коде x= (f,n) -> f(n) ... x( (n) -> n+1 , 5) #parse error Как я могу исправить ошибку синтаксического анализа выше? Спасибо Ответ 1 Пара скобок исправила бы эту проблему, просто нашла ответ на IRC. x( (n) -> n+1 , 5) #parse error x ((n) -> n+1) , 5 #fixed Ответ 2 Обычно я делаю это: foo -> doStuff('foo') , 5 или это: fn = -> doStuff('foo') foo fn, 5 Обертка дополнительных парсеров внутри списков аргументов никогда не сидела прямо со мной, так как мне было сложно разобрать. Ответ 3 Ответ Али немного отличается от вопроса, который он задал. Одно правильное решение - x = (f,n) -> f(n) x(( -> n+1), 5)
Ответ 1 Пара скобок исправила бы эту проблему, просто нашла ответ на IRC. x( (n) -> n+1 , 5) #parse error x ((n) -> n+1) , 5 #fixed
Ответ 2 Обычно я делаю это: foo -> doStuff('foo') , 5 или это: fn = -> doStuff('foo') foo fn, 5 Обертка дополнительных парсеров внутри списков аргументов никогда не сидела прямо со мной, так как мне было сложно разобрать.
Ответ 3 Ответ Али немного отличается от вопроса, который он задал. Одно правильное решение - x = (f,n) -> f(n) x(( -> n+1), 5)