|
[ruby-list:42446] Re: rubyで多次元配列の作り方: msg#00100lang.ruby.japanese
鴫谷と申します。 Ken'ichi Saitou wrote: >> どうにか多次元配列を作る方法(或は多次元配列など使わずに住む別の >> 考え方)を教えていただけ無いでしょうか? > 自分もRuby初心者なので、Ruby的な考え方というのはわからないのですが、 > 「配列の配列」は作れました。 > > irb(main):001:0> arr = [] > => [] > irb(main):002:0> i = 0 > => 0 > irb(main):003:0> while i < 5 > irb(main):004:1> j = 0 > irb(main):005:1> arr_sub = [] > irb(main):006:1> while j < 5 > irb(main):007:2> arr_sub << i+j > irb(main):008:2> j += 1 > irb(main):009:2> end > irb(main):010:1> arr << arr_sub > irb(main):011:1> i += 1 > irb(main):012:1> end > => nil > irb(main):013:0> p arr > [[0, 1, 2, 3, 4], [1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [3, 4, 5, 6, 7], > [4, 5, 6, 7, 8]] > => nil > irb(main):017:0> p arr[0][0] > 0 > => nil > irb(main):018:0> p arr[1][2] > 3 > => nil > irb(main):019:0> p arr[4][4] > 8 > => nil 多次元配列クラスは、標準では添付されていないと思います。 斎藤さんのように、配列の配列で実現するのが簡単でしょう。 上記の場合は、 irb(main):002:0> Array.new(5) {|i| Array.new(6) {|j| i + j }} => [[0, 1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6], [2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8], [4, 5, 6, 7, 8, 9]] で一行で記述できます。
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42445] Re: 日本語でのString#casecmpの利用について, Yukihiro Matsumoto |
|---|---|
| Next by Date: | [ruby-list:42447] Re: rubyで多次元配列の作り方, rubikitch |
| Previous by Thread: | [ruby-list:42444] Re: rubyで多次元配列の作り方, Ken'ichi Saitou |
| Next by Thread: | [ruby-list:42447] Re: rubyで多次元配列の作り方, rubikitch |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |