我有一个内部带有 if elsif 语句的 for 循环。在第一个 if 中,如果满足条件,我希望它停在那里并继续循环的下一次迭代。
这是我正在尝试做的一个非常简化的版本:
array = [1,2,3,4,"x"]
for i in 0..(array.count -1)
if array[i] == "x"
#start next for loop iteration without executing the elsif
elsif array[i] < 3
puts "YAY!"
end
end
我真正想做的是遍历一个数组,其中除了一个元素之外的所有元素都是整数,但其中一个是字符串。在字符串元素上,我需要循环(无论哪种最好)来跳过其余代码并进入循环的下一次迭代。这很重要,因为第二个 if 语句使用 'array_element < 11 条件',所以如果它在字符串元素上运行,我会得到“字符串与 11 的比较失败”
所以我想要 arr[x][3] 这是我尝试过的,但它给了我 8 8 8 8 而不是单个 8。
arr = [[1,2,3,"4"], [5,6,7,8], [9,10,11,12]]
arr.each{|x|
x.each {|i|
next if x[3].instance_of? String
if x[3] < 12 puts x[3]
end
}
}
好的,这行得通!谢谢iAmRubuuu!!
arr = [1,2,3,"4"], [5,6,7,8], [9,10,11,12], [13,14,15,"16"], [17,18,19,20]]
arr.each_with_index{|x, i|
next if x.last.instance_of? String
if x.last < 21
puts x.last
end
}
给我输出
8
12
20