当我遍历一个数组时
@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?
为假。
例如,假设当前 x 在数组中的索引 5 处,!array_valid?
为真,所以循环返回到索引 4,在那里增加一个值,!array_valid?
为假,下一个索引为 5,!array_valid?
为假,下一个索引是 6,...,直到数组的末尾。
或者 Ruby 中是否有任何其他循环可以轻松实现这种行为?