Ruby 1.8.7
array = [[1.5,"cm"],[1.5,"cm"],[1.5,"m"]]
如何比较变量数组中的每个数组并查看它是否相等, 如果相等则移动on else如果不相等则返回不相等的数组元素的索引并且停止比较。
所以在这个例子中,
array[0] == array[1]
#=> true
因此,继续前进
array[1] == array[2]
=> false
因此返回指数即= 1
return 1
答案 0 :(得分:4)
以下是我将如何使用Array#each_index
:
def compare_array_elements(array)
siz = array.size - 1
array.each_index { |i| return i if i != siz && array[i] != array[i+1] }
nil
end
array = [[1.5,"cm"],[1.5,"cm"],[1.5,"mm"]]
compare_array_elements(array) # => 1
array = [[1.5,"cm"],[1.5,"cm"],[1.5,"cm"]]
compare_array_elements(array) # => nil
答案 1 :(得分:0)
[[1.5,"cm"],[1.5,"cm"],[1.5,"m"]]
.each_cons(2).with_index(1).find{|(a, b), i| a == b}.last
# => 1