En el siguiente códigopasar una función como primer argumento en una llamada de función en CoffeeScript
x= (f,n) -> f(n)
...
x((n) -> n+1 , 5) #parse error
¿Cómo puedo solucionar el error de análisis anterior?
Gracias
En el siguiente códigopasar una función como primer argumento en una llamada de función en CoffeeScript
x= (f,n) -> f(n)
...
x((n) -> n+1 , 5) #parse error
¿Cómo puedo solucionar el error de análisis anterior?
Gracias
Un par de paréntesis que solucionar este problema, acaba de encontrar la respuesta en el IRC.
x((n) -> n+1 , 5) #parse error
x ((n) -> n+1) , 5 #fixed
por lo general lo hago bien esto:
foo ->
doStuff('foo')
, 5
o esto:
fn = -> doStuff('foo')
foo fn, 5
Envolver parens adicionales dentro de las listas de argumentos no se sentaron bien para mí, ya que es difícil para mi cerebro va a analizar.
La respuesta de Ali es ligeramente diferente a la pregunta que hizo. Una solución correcta es
x = (f,n) -> f(n)
x((-> n+1), 5)
Tienes razón, corregiré el error en la pregunta –