Quebrando cláusulas “para” no Coffeescript

Alguém perguntou isso recentemente na lista de e-mails, aqui está minha solução preferida:

for thing in $scope.things when thing.boolprop and !thing.otherboolprop
#Do some stuff!

torna-se

fn = (thing) -> thing.boolprop and !thing.otherboolprop
for thing in $scope.things when fn(thing)
#Do some stuff!

Se você exportar fn, também poderá fazer um teste de unidade.