代码之家  ›  专栏  ›  技术社区  ›  CookieOfFortune

计算ruby中的导数([i]-[i-1])。

  •  4
  • CookieOfFortune  · 技术社区  · 15 年前

    简单地使用for循环或每个带有索引的\u,只是想知道是否有更好的方法来使用Ruby语法。

    我需要创建一个新的数组,它是源数组的导数,例如:

    for(int i = 1; i < oldArray.length; i++)
    {
        newArray[i] = oldArray[i] - oldArray[i-1]
    }
    
    2 回复  |  直到 15 年前
        1
  •  8
  •   Avdi    15 年前
    old_array.each_cons(2).map{|x, y| y - x}
    

    Enumerable#each_cons 用块大小为2但不带块的方法调用时,返回一个枚举器,该枚举器将在 old_array . 那我们就用 map 对每一对进行减法。

        2
  •  1
  •   AShelly    15 年前
    last=0
    new = old.map{|v|x=v-last;last=v;x}[1..-1]