2008-02-12から1日間の記事一覧

Pythonでの再帰的yieldの書き方

再帰構造の走査でgeneratorを使うと、generatorメソッドの再帰呼び出しになるだろう。この場合、generatorは実際にイテレートして、その値ごとにyieldしなおす必要が出てくる。 for v in self.child.iter(): yield v # yield self.child.iter() ジェネレータ…

Simple and Efficient Purely Functional Queues and Dequesを読む

(ここ数日、眠れない。) http://citeseer.ist.psu.edu/158610.html を読んだ。FIFOのキューをリスト二つで実装するというもの。普通のリストでのからlazyリストでのやり方へ。 new = ([], []) insert e (l, r) = (l, e:r) remove ([], r) = remove (reverse …