我试图找到两个数组项的区别。例如,我期待来自[-1, -4], [-2, 4], [1, -2]
的{{1}}。但是我得到一个错误,`transpose':没有将nil隐式转换为Array(TypeError)。
[arr[i],arr[i+1]].transpose.map{|x| x.reduce(:-)}
我在这里做错了什么? Ruby的新手。
答案 0 :(得分:3)
您可能想尝试each_cons
:
arr = [[1,1],[2,5],[4,1],[3,3]]
def dosomething(myarr)
puts myarr.to_s
end
arr.each_cons(2) do |pairs|
myarr = pairs.transpose.map{|x| x.reduce(:-)}
dosomething(myarr)
end
# [-1, -4]
# [-2, 4]
# [1, -2]
答案 1 :(得分:0)