我在ruby中有一个多维数组,如下所示:
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
如何为每个元素添加“1”。例如,我想最终得到类似的东西:
a = [[2, 3, 4], [5, 6, 7], [8, 9, 10]]
提前致谢!
答案 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]]