配列をループしているとき
@arr.each {|x|
x.increment #x is an instance of my class that implements the increment method
if !array_valid? #array_valid? is my method with specific logic
#make 'x' previous item in array and continue
end
}
以下に進むのではなく、前の項目に戻ることはできますか? !array_valid?
このようにして、現在のアイテムは falseになるまでもう一度ループされます。
たとえば、現在の x が配列のインデックス 5 にあり、!array_valid?
true であるとします。したがって、ループはインデックス 4 に戻り、そこで値をインクリメントします。falseであり!array_valid?
、次のインデックスは 5 で!array_valid?
あり、false であり、次のインデックスは配列の最後まで 6, ... です。
または、この動作を簡単に許可する Ruby の他のループはありますか?