假设我有一个数组
array = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
如何比较第一个值和第二个值,第二个值与第三个值等.
我唯一能想到的就是这个(相当难看)
compared = array.each_with_index.map do |a,i|
array[i+1].nil? ? nil : array[i] - array[i + 1]
end
compared.compact # to remove the last nil value
Run Code Online (Sandbox Code Playgroud)
我想要的是
[-1, -1, -1, -1]
Run Code Online (Sandbox Code Playgroud)
实现这一点有一个很好的"红宝石方式"吗?没有使用所有丑陋array[i]和array[i+1]东西.
array = [1,2,3,4,5]
array.each_cons(2).map { |a,b| a - b }
# => [-1, -1, -1, -1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |