for n in firstn(10): print n, # —> 0 1 2 3 4 5 6 7 8 9 print [n for n in firstn(10)] # -> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] で、このジェネレータ関数をJavaScriptでも使えるようになるらしい。正式にはES6 (ECMAScript version 6)で規格化される予定だが、幾つかの実装は既にこの機能を取り入れ始めている。 Node.jsも次の安定版v0.12で正式採用すべく、v0.11でジェネレータが使えるようになっている。で、それを使ってみた。 まず上の例をJavaScriptで書きなおし。 firstn = function* (n) { var num = 0 while (num < n) { yield num num += 1 } }; gen = fi