ddddddO/gtree

WithWalkerオプションあると嬉しいかも

ddddddO opened this issue · 2 comments

  • https://github.com/xlab/treeprint#iterating-over-the-tree-nodes にインスパイア

  • 以下な感じ

    func WithWalker(func(*Node)) Option {}
  • 今の想定は、OutputProgrammably関数に渡すことで、枝の出力時にWithWalkerで指定されたcall backの処理をすることができる

    • https://github.com/orangekame3/survey なライブラリと組み合わせやすくしたい
    • Node structのprivate fieldを返すpublic なmethodをいくつか用意すると良さそう(eg. name, brnch(のpathかvalue) くらいかな)
      • ただ、Node struct で上記field用公開メソッドを追加すると、OutputProgrammably呼び出し前後で結果が異なるから、利用者を混乱させてしまうかも。どうしよう
        • WalkerNodeという別structを定義して、それにメソッドはやすのはどうか
        • 結構いいのでは。そうすれば、call back内でNode.Addメソッドの呼び出しとかも起きないし
  • ドキュメントには、Root nodeから順に走査します、でいいかな?

  • WithWalkerで渡すより、専用の公開関数をもうけた方がいいんではと思い始めてきた

    • OutputProgrammablyで出力させて、call backの処理後に何か処理する、という流れは求めてないのでは
    • であればいっそ、ユーザー定義関数を実行させる専用関数を用意した方がいい

実装は一旦

残り

  • GoDoc
  • Readme
  • unit test
  • example配下にサンプル置きたい
    • verifyあたりのunit testでこのディレクトリ使っちゃってたような...
  • 宣伝
    • X
    • reddit
      • golang
      • programming
    • Slack:Gophers

対応した