PERLにて2次元配列の動的な作成方法を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/01/18 14:09:13
  • 終了:--

回答(4件)

id:heilig_zwei No.1

heilig_zwei回答回数119ベストアンサー獲得回数132006/01/18 22:40:33

ポイント10pt

http://www.tohoho-web.com/www.htm

とほほのWWW入門

perlはわざわざ宣言しなくても勝手に動的な2次元配列を作ってくれます。


for($i = 0;$i < 10;$i++){

 for($j = 0;$j < 10;$j++){

  $gyouretsu[$i][$j] = $i.$j;

 }

}

$gyouretsu[13][14] = ”ほげほげ”;


みたいな。

この時点で@gyouretsu[13][14]の2次元配列ができています。空きの部分はundef扱いです。

id:tociyuki No.2

水谷敏行回答回数12ベストアンサー獲得回数12006/01/18 20:28:33

ポイント40pt

2次元以上の配列は、配列リファレンスを入れ子にします。

Perl の配列は動的で、代入するだけで自動的に生成されます。

例えば、九九の表の対角線より下半分を作るには次のようにします。

my @M;

for my $i (1..9) {

  for my $j (1..$i) {

    $M[$i][$j] = $i * $j;

  }

}

次のように書いても同じことです。

my @M = map { my $i = $_; [ map {$i * $_} 1..$i ] } 1..9;

表示するには、

print join(” ”,@{$M[$_]}), ”¥n” for 0..$#M;

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 mahbo 87 66 0 2006-01-19 05:16:49
2 noboru 94 82 0 2006-01-20 22:26:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません