treeコマンド(generator)

treeコマンドのようなものをPythonで書いてみた。generator(yield)を使ってディレクトリを走査する部分と、ターミナルに描画する部分を分けようと思ったのだけれど綺麗に書けない。理由はたぶんこういうこと。

  1. 再帰的なyieldがつかえない。
    1. yield _walk(...)というように書きたいけど無理
  2. 明示的にイテレータを利用してyiledする必要がある。
    1. この時、新しい変数名を与える必要がある。なのでスコープ中の変数名の数が増えてしまう。


本当はクラスで切り分けていくのかも?