将函数作为coffeescript函数调用中的第一个参数传递

Ali*_*ehi 16 coffeescript

在以下代码中

x= (f,n) -> f(n)
...
x( (n) -> n+1 , 5) #parse error
Run Code Online (Sandbox Code Playgroud)

如何解决上面的解析错误?

谢谢

Ali*_*ehi 28

一对括号可以解决这个问题,只是在IRC上找到答案.

x( (n) -> n+1  , 5) #parse error
x ((n) -> n+1) , 5 #fixed
Run Code Online (Sandbox Code Playgroud)


Ale*_*yne 17

我通常这样做:

foo ->
  doStuff('foo')
, 5
Run Code Online (Sandbox Code Playgroud)

或这个:

fn = -> doStuff('foo')
foo fn, 5
Run Code Online (Sandbox Code Playgroud)

在参数列表中包含额外的parens从来没有和我坐在一起,因为我的大脑难以解析.