From: NAKAMURA Akifumi Date: 2006-09-24T08:42:18+09:00 Subject: [ruby-list:42828] Re: 再帰呼び出しの深さを知りたい A.中村です。 Hideo Konami wrote: > 次のサンプルのような再帰的な構造(実際に扱いたいのはツリー)で, > def add > if @son then > @son.add > else > @son = Link.new > end > end ところで。ツリーってことなんですが、 これだと1次元というか一直線にしか 成長しない「ツリー」なんじゃないでしょうか? link@son -> link@son -> link@son ..... みたいな構造になる(だけ)ですよね。 枝はいつ作る(作れる)のでしょう? また作ったとしてどうやって保持するのでしょう? それとも実際にやりたいのは 「ツリー」ではないのでしょうか? 深さについては引数でヤルのに私も賛成です。 深さを、Linkオブジェクトに保持するにせよ、 毎回その場で計算するにせよ、 値の計算は引数で+1しながら降下していく という構造が一番すっきり扱えるようです。