几个Ruby数组的平均值

bwo*_*bst 4 ruby arrays

我有三个Ruby数组:

[1, 2, 3, 4]
[2, 3, 4, 5]
[3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

如何获取位置0,位置1等所有三个数字的平均值,并将它们存储在一个名为"平均"的新数组中?

Jok*_*ter 7

a = [1, 2, 3, 4]
b = [2, 3, 4, 5]
c = [3, 4, 5, 6]

a.zip(b,c)
   # [[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]]
.map {|array| array.reduce(:+) / array.size }
   # => [ 2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

  • 这很好.如果您的数组具有不同的大小,请小心使用zip,因为它将nil应用于结果,在这种情况下,抛出异常 (4认同)