Funções rápidas de auto-invocação com CoffeeScript

Se você precisar declarar uma função de chamada automática no CoffeeScript, é muito fácil, basta fazê- lo:

message = "but stay safe"
do ->
message
= "take chances"
alert message

alert message


# Outputs "takes chances" then "but stay safe"

Isso se torna muito útil quando você precisa congelar uma variável, como em um loop for e usando setTimeout , basta passar a variável:

for person in group
do (person) ->
setTimeout
->
# A bunch of work using person
, 0

Sem a chamada, do (person) ->a função chamada por setTimeout usaria apenas a última pessoa do grupo.