Leaf と BinaryNode の 2 つのクラスがあります Leaf には、文字列である 1 つのフィールドが含まれます BinaryNode には、両方とも Leaf または BinaryNode のいずれかである 2 つの子が含まれます
ツリー内のすべての単語の文字列を左から右に返す concatAll メソッドを作成しようとしています...
以下は私がこれまでに持っているものですが、構築された文字列全体ではなく、最後の文字列のみを返しています...どうしてですか?
def concatAll
final = ""
if @lchild.respond_to?('string')
final += @lchild.to_s
else
@lchild.concatAll unless @lchild.nil?
end
if @rchild.respond_to?('string')
final += @rchild.to_s
else
@rchild.concatAll unless @rchild.nil?
end
end