ジェネレータ その2

make_fib()をなくそうとしてみる。

function fib(func) {
  var a = 1;
  var b = 1;

  func.next = function() {
    func(a);
    var t = a;
    a = b;
    b = t + a;
  }
}

fib(print);
print.next();
print.next();
print.next();
print.next();
print.next();

うーん、yieldでも使わない限り、関数自体で状態は持てないかな?