scalaでtreeコマンド

前回のScala勉強会でネタになったsagaraさんの書いたtreeコマンドを
いろいろいじりました。
。。。というかもうほとんど原型とどめてない。


https://github.com/tototoshi/tree/blob/master/src/main/scala/tree/Tree.scala


ポイント

  • forループ&indexを使って実装されていたところを末尾再帰
  • NullはOptionでくるむ
  • ifをパターンマッチに変えたり


treeコマンドは再帰の良い練習問題になりますね。
しかも一番はじだけ枝の形が変わったりするので一手間かかります。


ところでOptionの使い方ってこれで良いのでしょうか?
実は初めて使いました。