‘generator_tools’ タグのついている投稿

GAE上ではジェネレータを保存出来なかった話

2010年3月30日 火曜日

先日ジェネレータを一旦保存しておいて、途中から再実行するというエントリを書きました。これで何がしたかったかと言うと、この方法を使うとリクエストあたりの30秒制限があるGAEでも、割と綺麗に擬似的な無限ループが表現出来るだろうと言う事で実験していました。もっと言えばGAEでクローラを作りたかった訳ですが、残念ながら出来ませんでしたという話です。

(続きを読む…)

Pythonのジェネレータを保存したいという話

2010年3月22日 月曜日

Pythonでも所謂ジェネレータを使えます。無限数列を求めたりする例がよく紹介されていますね。

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
def get_fib():
  (a, b) = (0, 1)
  yield a
  yield b
  while True:
    (a, b) = (b, a + b)
    yield b
 
def main():
  fib = get_fib()
  for i in range(10):
    print fib.next()
 
if __name__ == '__main__':
  main()

ジェネレータはnext()を呼ぶ度に新しい値を返す訳ですが、例えば5回next()を呼んでからジェネレータ自身を保存して置いて、後から6回目以降を呼び出したいというのが本エントリでの話です。

(続きを読む…)