respuesta de Matt es correcta, pero aquí es un método alternativo:
En CoffeeScript 1.0 (lanzado unas semanas después de esta se planteó la pregunta), se introdujo un operador do
que ejecuta la función que le sigue inmediatamente. Es sobre todo usado para la captura de las variables en los bucles, ya que
for x in arr
do (x) ->
setTimeout (-> console.log x), 50
(que pasa una referencia a x
en la función anónima) se comporta de manera diferente que
for x in arr
setTimeout (-> console.log x), 50
Este último simplemente salida de la última entrada en arr
repetidamente , ya que solo hay un x
.
De todos modos, debe tener en cuenta do
como una forma de ejecutar una función anónima sin los paréntesis adicionales, aunque sus capacidades con respecto a la transferencia de argumentos son un poco limitadas en este momento. Levanté un proposal to broaden them.
Actualmente, el equivalente a su ejemplo de código sería
do ->
$ = jQuery
...
Si se acepta mi propuesta, será posible escribir
do ($ = jQuery) ->
...
lugar.
El [sitio web CoffeeScript] (http://jashkenas.github.com/coffee-script/) tiene una característica * Trate CoffeeScript *, que compila a JavaScript sobre la marcha. Pude descubrir la respuesta en unos minutos jugando con eso. –