pre-orderで走破する木構造を書いた
Posted
動機
人はまれに木構造を書きたくなるときがあって、ついにそれを発症したので植林活動に手を染めてみることにしました。
嘘です。本当は某所でビヘイビアツリーなるものを知ってしまったので、原理を知るために実装したかった。
最近 lintとかtypescriptとかでASTでなんやかんやするの流行ってるし木を自作できたらいろいろ幅が聞くだろうなぁ(妄想)と思って木構造と走破するやつをつくった。
実装
https://github.com/himanoa-sandbox/hayashi/commit/a165b76b773edc699fb5d2a53d947e9afae3a9bc
意識したこと
- こういうシンプルなやつはTDDの素振りに良いので意識しながら書いた
- commitには現れてないけどイテレータープロトコルを満たす普通の関数で最初書いてた
- ジェネレーターで書き直したくなった。
- このときにテストがあったので壊さずリファクタリングできた。
- ハマったときはgistに投げてTwitterで助けを求めた
- しかし だれも こなかった。
- 自分を信じて自分でなおしました
- 俺は神
感想した感想
たのしかったです!(幼稚園生並感)。ていうか走破処理ってこんなに短くかけるものだったのね。もっと複雑でだるいものかとおもってたわ
leftとrightがあるし実質北上双葉。双葉の双葉はどーれだ
拍手ボタン