増えていく可能性のある配列を再帰的に処理する場合ってどうすればいいですか?
以下のような感じのやつで2を表示させたいですが1で繰り返しが終わります。

#!/usr/bin/ruby -Ku

@i=[1]

@i.each{|a|
p a
b=2
@i << b
@i.delete(a) if b != nil
}