计算衍生物([I] - [I - 1])在红宝石

平凡使用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}

Enumerable#each_cons称为带2的块大小,但没有一个块返回一个枚举将遍历每对中的连续元素old_array 然后,我们只是用map对每对进行减法。

last=0
new = old.map{|v|x=v-last;last=v;x}[1..-1]

分类:红宝石 时间:2015-03-15 人气:3
本文关键词: 红宝石,算法,衍生物
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.629 (s). 10 q(s)