#navi(../)
* Perlで配列の配列・二次元配列の記述方法 [#d0490554]
Perlで2次元配列の記述をしたサンプルコードを以下に記します。

#contents
#htmlinsertpcsp(ll-top.html,ll-sp.html)

* 関連記事 [#tfcc03a3]
-[[Perlで配列のデータをCSV出力する方法・join>Perl/サンプル/配列のデータをCSV出力する方法・join]]
-[[Perlで配列やハッシュ要素を画面に表示して確認する方法>Perl/サンプル/配列やハッシュ要素を画面に表示して確認する方法]]
-[[Perlの配列と無名配列のリファレンスの要素操作($と@)>Perl/サンプル/配列と無名配列のリファレンスの要素操作]]
-[[Perlで配列の配列・二次元配列の記述方法>Perl/サンプル/配列の配列・二次元配列の記述方法]]

* 動作確認環境 [#r93652d7]
-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

* 配列の配列 サンプルコード [#ed36a141]
リファレンスの配列と配列の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次元配列についてのサンプルコードでした。

#htmlinsertpcsp(ll-btm.html,ll-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS