0

次のようなルビーの多次元配列があります。

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

各要素に「1」を追加するにはどうすればよいですか。たとえば、私は次のようなものになりたいです:

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

前もって感謝します!

4

3 に答える 3

3

もう少し賢い 1 つのライナーがあるかもしれませんが、これはかなり明確です。

a.map { |ar| ar.map { |e| e + 1 } }
于 2012-11-09T02:51:20.753 に答える
3

楽しみのために:

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

#Tada!
a.map(&:increment)
于 2012-11-09T03:10:36.837 に答える
0
a.map { |xs| xs.map(&:succ) }
#=> [[2, 3, 4], [5, 6, 7], [8, 9, 10]]
于 2012-11-09T08:23:55.230 に答える