ジェネレータ

何か作るんだろうなという漠然とした名前だけど、作るのはただのイテレータみたいなもの。
Rubyイテレータはyieldが呼ばれると渡されたブロックを実行するけど、Pythonのジェネレータはyieldが呼ばれるとそこでジェネレータ側の処理を中断し、値を伴って呼び出し側に戻り、next()が呼ばれたらyieldの続きから再び実行されるという頭が混乱しそうな作り。
まぁ難しく考えずにジェネレータでは繰り返したい要素を順次yieldに渡していけばいいとだけ覚えておけばいいと思う。
継続ってやつに似てる? でもジェネレータの外のことは覚えててくれないよな。