计算Ruby中的导数([i] - [i - 1])
-
06-07-2019 - |
题
使用for循环或each_with_index微不足道,只是想知道是否有更好的方法使用Ruby语法。
我需要创建一个新数组,它是源数组的衍生物,例如:
for(int i = 1; i < oldArray.length; i++)
{
newArray[i] = oldArray[i] - oldArray[i-1]
}
解决方案
old_array.each_cons(2).map{|x, y| y - x}
使用块大小为2调用的可枚举#each_cons
但没有块返回一个Enumerator,它将迭代 old_array
中的每对连续元素。然后我们只使用 map
对每对进行减法。
其他提示
last=0
new = old.map{|v|x=v-last;last=v;x}[1..-1]
不隶属于 StackOverflow