Creating and iterating a 2d array in Ruby Creating and iterating a 2d array in Ruby ruby ruby

Creating and iterating a 2d array in Ruby


a = [[1, 2], [3, 4]]a.each do |sub|  sub.each do |int|    puts int  endend# Output:#   1#   2#   3#   4

or:

a = [[1, 2], [3, 4]]a.each do |(x, y)|  puts x + yend# Output:#   3#   7


The easiest way to create a 2d array is by the following:

arr1 = Array.new(3) { Array.new(3)}

The code above creates a 2D array with three rows and three columns.

Cheers.


irb(main):001:0> a = []=> []irb(main):002:0> a1 = [1, 2]=> [1, 2]irb(main):003:0> a2 = [3, 4]=> [3, 4]irb(main):004:0> a.push a1             => [[1, 2]]irb(main):005:0> a.push a2=> [[1, 2], [3, 4]]irb(main):006:0> a=> [[1, 2], [3, 4]]irb(main):007:0> a[0]=> [1, 2]irb(main):008:0> a[0][1]=> 2