2009-02-11
■[メモ]Rubyで二次元配列使いたい時に…

mat1 = Array.new(3,0) mat1.each_index |i| do mat1[i] = Array.new(3,0) end
とかやってるんですが何の気の迷いかぐぐってる最中に見つけたこんな書き方をしたら死んだ。
irb(main):001:0> mat1 = Array.new(3,Array.new(3,0)) => [[0, 0, 0], [0, 0, 0], [0, 0, 0]] #値でも代入するか… irb(main):002:0> mat1[0][0]=1 => 1 irb(main):003:0> mat1 => [[1, 0, 0], [1, 0, 0], [1, 0, 0]]
こんな事に今更気付く俺はくたばった方がいい。
コメントを書く
トラックバック - http://d.hatena.ne.jp/repose/20090211/1234355496
