IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

JavaScript 1.8 を使ってフィボナッチ数列ジェネレータをワンライナーで書く!

出来たー!

var fib = ((function f(i)(i<2)?1:f(i-1)+f(i-2))(i) for(i in {__iterator__:function()({a:0,next:function()this.a++})}));

こんな感じ

alert(fib.next()); // 1
alert(fib.next()); // 1
alert(fib.next()); // 2
alert(fib.next()); // 3
alert(fib.next()); // 5

for in でも使えます

for (var i in fib) {
    // i はフィボナッチ数列
    // 無限ループ
}

JavaScript 1.8 楽しい!

うぽぽ