名前とノードの配列を持つ非常に単純なノード クラスを作成しました。また、各ノードと子ノードを反復処理するのに役立つ next メソッドを使用して iterator クラスを作成しました。次のメソッドを書く必要がありますが、それを行う最善の方法がわかりません。
class Node
def initialize(name, nodes
@name = name
@nodes = nodes
end
end
class Iterator
def initialize(node)
@node = node
end
def next
???
end
end
例:
z = Node.new("z", [])
b = Node.new("b", [z])
c = Node.new("c", [])
parent = Node.new("a", [b, c])
iterator = Iterator.new(parent)
str = ''
next = iterator.next
while next do
str += next.name
next = iterator.next
end
str は "abzc" に等しい必要があります
誰でもこれで私を助けることができますか?