From: agul@... Date: 2000-06-26T14:02:07+09:00 Subject: [ruby-list:23509] Dimension of array 縄手@松江です。 他の言語の習慣を持ち込むのも何ですが、Fortranのように最初にディメ ンジョンを切るような作業をやりたいと思っております。 やりたいのは256行x256列のデータ列をその位置に従った2次元配列とし て取り込み、表計算やGNUPLOT用のデータファイルにすることですが、配 列を入れ子にしてそのサイズを最初に指定するやり方が分かりません。 1次元の通常の配列に代入しでもやりたいことはできているんですが、ど うせなら直観的に見えるdata[x][y]のようにできる方がうれしいかなあと。 1次元の場合は冒頭で data = [] とかしておいて、後から読み込んだデータを順次 while line = gets() ary = line.split(/\s+/) for i in 0..256 data << ary[i] end end のように追加して65536個のデータを持つ配列を作り、 for i in 0..256 for j in 0..256 print i, "\t", j, "\t", data[i+256*j], "\n" end end で256個おきにデータを見ることによってGNUPLOT用のx,y,zの3列のデータ 列を作りました。 しかし、上述のように2次元的に256x256の入れ子の配列を宣言したいと思 っております。 試しに、5x5の場合について data = [[0,0,0,0,0],[0,0,0,0,0],..] のように、初めにサイズを定義して後からデータをいれるやり方はできま したが、余りに見苦しいので別の方法があると思っておりますが、分かり ません。 # <<を使ってデータを追加するのも入れ子の配列の場合良く分かりませんし。 -- │ 縄手雅彦@島根大学::総合理工学部::電子制御システム工学科 /│\  磁気計測システム研究室 ロ○│○ロ agul@mag2.riko.shimane-u.ac.jp \┴/ http://www.ecs.shimane-u.ac.jp/~nawate  ̄