次のようなルビーの多次元配列があります。
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
各要素に「1」を追加するにはどうすればよいですか。たとえば、私は次のようなものになりたいです:
a = [[2, 3, 4], [5, 6, 7], [8, 9, 10]]
前もって感謝します!
次のようなルビーの多次元配列があります。
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
各要素に「1」を追加するにはどうすればよいですか。たとえば、私は次のようなものになりたいです:
a = [[2, 3, 4], [5, 6, 7], [8, 9, 10]]
前もって感謝します!
もう少し賢い 1 つのライナーがあるかもしれませんが、これはかなり明確です。
a.map { |ar| ar.map { |e| e + 1 } }
楽しみのために:
class Array
def increment
map(&:next)
end
end
#Tada!
a.map(&:increment)
a.map { |xs| xs.map(&:succ) }
#=> [[2, 3, 4], [5, 6, 7], [8, 9, 10]]