なんか、ごっついなまえがついてるけど、 for x in A や while( some.hasNext() ) の形式だけでは足りないので、CやJavaで出来る、while( (x = r.readLine() ) ) が使えるようにするってことのようだ。
def gen( obj ): x = " " while( x != None ): x = obj.readline() yield x #return の代わりに yieldをつかう
Java や C でwhile の中に埋め込む処理をPythonでは関数で定義しておけば使い回しできるし、ちょっと複雑なことが出来るから便利よねってことだろうねぇ。こう考えれば、Iteratorより高速だよといわれて納得できる。
return のかわりにyield*1を使うとGeneratorになる
この解釈は正しいのかな。細かく使ってみてから、また書き直そう。。。
*1: 作り出すって意味のある英単語。作って取り出すイメージの単語かな。化学論文を毎日読んでる頃は毎日目にした単語。