return との比較 return と yeild を比較してみます。 まず return ですが、戻り値のある return の動作は 関数の処理を 終了 し 値を返す です。 一方、yeild は 関数の処理を 一旦停止 し 値を返す という動きをします。 一旦停止なので、yeild の処理は再開されます。 図にすると yeild の場所で一旦停止し、再開時は次の行からスタートします(再開のきっかけは後述)。 なんのために ? でわ、yield があると何が便利なのでしょうか。 単純な例ですが、たとえば 1GB の巨大なテキストファイルがあるとします。そして、この巨大なファイルを読み込み、データを渡してくれる関数を作るとします。 これを普通にやろうとすると、受け渡し用のメモリが 1GB という巨大なサイズになってしまいます。 ところが yield を使えば、少量、たとえば 1 行づつ