From: nobu.nakada@... Date: 2001-04-04T04:35:01+09:00 Subject: [ruby-list:29081] Re: 格納のしかた なかだです。 At Tue, 3 Apr 2001 19:25:46 +0900, 市川 裕隆 wrote: > ファイルの降順、昇順を全然利用してないですがこんなのは。 配列にするということならファイル内の順序は考えなくてもいいよ うな気がします。 > 3桁固定だし。 N 桁固定でなら伊藤彰則さんの MDArray という手もあります。 array[x][y][z] じゃなくて array[x,y,z] ですが。 ftp://ftp.ruby-lang.org/pub/ruby/contrib/mdarray0. 1.tar.gz 可変にするならこんなんとか。 class MultiDimArray < Array alias get [] alias set []= def [](*idx) a = self idx.each {|i| break if (a = a.get(i)) == nil} a end def []=(*idx) v = idx.pop n = idx.pop a = self idx.each {|i| a = a.get(i) || a.set(i, type.new)} a.set(n, v) end end if $0 == __FILE__ array = MultiDimArray.new readlines.each do |lin| idx, lin = lin.split(":", 2) array[*idx.split.collect{|i| i.to_i}] = lin.strip end p array end -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦