CoffeeScriptでgeneratorを明示的に作成する


CoffeeScriptは関数の中にyieldキーワードがあると自動的にgeneratorであると判断してくれますが、これが邪魔になることがたまにあります。

foo -> co ->
  bar -> yield baz()

この例では、coに渡す関数をgeneratorにしたいわけですが、実際にはbarに渡る関数がgeneratorになってしまい、うまくいきません。
以下のように書けば意図した通りの挙動になります。

foo -> co ->
  bar -> `yield(baz())`
  yield return