多次元配列についての質問です。
1次元配列の場合、下記のようなコードで可変長のまま要素を追加することができます。
Ruby
1arrOneDimensional = Array.new() 25.times do |i| 3 arrOneDimensional[i] = i 4end 5 6print arrOneDimensional 7#[0, 1, 2, 3, 4]
そこで例えば、2次元配列でも同様に可変長のまま要素を追加したいのですが、下記のコードではうまくいきません。
Ruby
1arrTwoDimensional = Array.new(){Array.new()} 25.times do |y| 3 5.times do |x| 4 arrTwoDimensional[y][x] = x 5 end 6end 7 8print arrTwoDimensional 9#undefined method `[]=' for nil:NilClass (NoMethodError)
Array.new(){Array.new()}
をArray.new(5){Array.new(5)}
と書き換えて、
先に領域を確保すればうまくいきますが、可変長のまま要素を追加する方法はありませんか?
それか、上記のコードでもっと簡単な書き方があれば、ご教示いただきたいです。
初歩的な質問で大変恐縮ですが、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/11/26 05:42