逃走航路@hatena - Re:Pythonのジェネレータで四角いらせんを書いた:西尾泰和のブログにお返事。 元の記事が「アルゴリズムを確認するためにPythonでわかりやすく書いてからJavaで書く」という趣旨であることをはおいといて、やっぱりよく似たフレーズが4回も繰り返してあるとまとめたくなるのはプログラマの性ですよね。僕なら同じ手続きは以下のように関数にまとめて、 >>> def squareSpiral(): width = 0 p = (0, 0) yield p ops = [ lambda (x, y), d: (x + d, y), lambda (x, y), d: (x, y + d) ] while True: width += 1 for i in range(width): p = ops[0](p, 1) yield p for i in range(wid