2016-07-24 6 views
1

erstellen Ist es möglich, die folgende 2D-Array dynamisch zu erstellen:Dynamisches 2D-Array Rubin

[[1, 1], [1, 2], [2, 1], [2, 2], [3, 1], [3, 2], [4, 1], [4, 2]] 

Eg.

(1..4).to_a 
#=> [1, 2, 3, 4] 
(1..2).to_a 
#=> [1, 2] 

Kombinieren Sie das irgendwie?

Antwort

4

Array#product ist die Methode, die Sie suchen:

(1..4).to_a.product (1..2).to_a 
0

Das klingt ein bisschen wie eine Hausaufgabe. Es wäre schön, einen Kontext für das zu bekommen, was Sie versuchen zu tun. Sie sollten einige Zeit damit verbringen, die verschiedenen Schleifen/Iteratoren zu erforschen, die Ihnen ruby ​​zur Verfügung stellt. Hier ist eine Methode, die das Array, das Sie suchen, mit einer der Iterator-Methoden von Ruby upto zurückgibt.

def generate_array 
    arr = [] 

    1.upto(4) do |y| 
    1.upto(2) do |x| 
     arr << [y, x] 
    end 
    end 

    arr 
end