我有这样的代码:
array = [100, 90, 120, 100, 110]
array.each_with_index.map do |v, i|
next if i == array.size - 1
array[i+1] - v
end
我觉得如果我能这样写会更好:
array = [100, 90, 120, 100, 110]
array.each_with_index.map do |v, i|
next if i == _.size - 1
_[i+1] - v
end
所以我想知道在 Enumerator block 中是否有一个表示数组本身的特殊变量。
有人知道吗?
最佳答案
我认为您正在寻找的是使用 each_cons
,它为每个连续元素数组迭代给定 block :
array.each_cons(2).map { |a, b| a - b }
# => [10, -30, 20, -10]
关于ruby - Enumerable 的每个 block 中是否有特殊变量表示数组本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27018535/