日々精進

新しく学んだことを書き留めていきます

yieldと通常のreturnは併用できない

同じ関数の中で、ifで分岐してこの場合はgeneratorとして使う、この場合は普通に値を返す、ということはできないらしい。

ja.stackoverflow.com

しょうがないのでgeneratorがほしい場合とそうでない場合で共通の部分を関数に抽出して残りの部分をそれぞれ別の関数として実装した。