このエントリーをはてなブックマークに追加


Perlで配列の配列・二次元配列の記述方法

Perlで2次元配列の記述をしたサンプルコードを以下に記します。


スポンサーリンク

関連記事

動作確認環境

  • Perl
    $ perl -v
    
    This is perl 5, version 14, subversion 2 (v5.14.2) built for i686-linux-gnu-thread-multi-64int
    (with 57 registered patches, see perl -V for more detail)
    <snip>
  • OS
    $ lsb_release -d
    Description:    Ubuntu 12.04.4 LTS

配列の配列 サンプルコード

リファレンスの配列と配列の2種類のサンプルコードを以下に記します。

use strict;
use warnings;
my $ary1 = [
    ["shinagawa-ku", "taro",   20],
    ["minato-ku",    "hanako", 30],
    ["kouto-ku",     "shinji", 10],
];
my @ary2 = (
    ["SHINAGAWA-KU", "TARO",   20],
    ["MINATO-KU",    "HANAKO", 30],
    ["KOTO-KU",      "SHINJI", 10],
);
my ($i, $j);
# target = $ary1
print '-- $ary1 --' . "\n";
for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
      print "i=$i, j=$j : " . $ary1->[$i]->[$j] . "\n";
    }
}
# target = @ary2
print '-- @ary2 --' . "\n";
for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
      print "i=$i, j=$j : " . $ary2[$i][$j] . "\n";
    }
}

配列の配列の記述方法2種類と2種類の要素へのアクセス方法を記してあります。
上記のサンプルコードを実行した時の出力は以下の通りです。

-- $ary1 --
i=0, j=0 : shinagawa-ku
i=0, j=1 : taro
i=0, j=2 : 20
i=1, j=0 : minato-ku
i=1, j=1 : hanako
i=1, j=2 : 30
i=2, j=0 : kouto-ku
i=2, j=1 : shinji
i=2, j=2 : 10
-- @ary2 --
i=0, j=0 : SHINAGAWA-KU
i=0, j=1 : TARO
i=0, j=2 : 20
i=1, j=0 : MINATO-KU
i=1, j=1 : HANAKO
i=1, j=2 : 30
i=2, j=0 : KOTO-KU
i=2, j=1 : SHINJI
i=2, j=2 : 10

以上、2次元配列についてのサンプルコードでした。


スポンサーリンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:31:38