如何在ruby多维数组中执行子数组的函数

时间:2012-11-09 02:46:38

标签: ruby multidimensional-array

我在ruby中有一个多维数组,如下所示:

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

如何为每个元素添加“1”。例如,我想最终得到类似的东西:

a = [[2, 3, 4], [5, 6, 7], [8, 9, 10]]

提前致谢!

3 个答案:

答案 0 :(得分:3)

可能会有一个更聪明的单线,但这是相当清楚的。

a.map { |ar| ar.map { |e| e + 1 } }

答案 1 :(得分:3)

只是为了好玩:

class Array
  def increment
    map(&:next)
  end
end

#Tada!
a.map(&:increment)

答案 2 :(得分:0)

a.map { |xs| xs.map(&:succ) }
#=> [[2, 3, 4], [5, 6, 7], [8, 9, 10]]