这是我在防止数组中最后一个索引+1的方法。在红宝石中实现这一目标的最佳方法是什么?提前谢谢。
array.each.with_index do |x, index|
unless index+1 == array.length
if x + array[index+1] == n
...
答案 0 :(得分:3)
试试这个:
array[0..-2].each.with_index do |x, index|
if x + array[index+1] == n
...
答案 1 :(得分:3)
您可以使用范围来执行您想要的操作。类似的东西:
array = [0, 1, 2, 3, 4]
array[0...-1].each do |x|
print x
end
# => 0123
-1
指的是最后一个元素,使用3个点...
表示您从第一个 *独占* 中获取所有元素。 2个点也包括最后一个。
额外提示:在红宝石中,通过使用each
代替each_with_index
,您可以通过预先剔除/修改数组来大部分时间逃脱。