Perl2次元配列

提供: dococo wiki
2017年10月15日 (日) 08:48時点におけるimported>Webmasterによる版 (→‎配列への代入方法)
ナビゲーションに移動 検索に移動

もう少し2次元配列について詳しく記録しておく
2次元配列のイメージはこんな感じだとおもう

2次元配列
0 1 2 3 4
0
1
2
3

単純な50音表、こんな形が2次元配列というイメージがあると思う

配列への代入方法

ひとつ、ひとつブラケット [で括ってやって指定する方法

	my @jdata;
	$jdata[0][0] = "あ";
	$jdata[0][1] = "い";
	$jdata[0][2] = "う";
	$jdata[0][3] = "え";
	$jdata[0][4] = "お";

	$jdata[1][0] = "か";
	$jdata[1][1] = "き";
	$jdata[1][2] = "く";
	$jdata[1][3] = "け";
	$jdata[1][4] = "こ";

	foreach my $var1 (@jdata) {
		foreach my $var2 (@{$var1}) {
			print "$var2 ";
		}
		print "\n";
	}



Pushを使ってまとめて指定する方法もあります
ここで注意しないといけないのは配列をリファレンスにしないといけないことです
push(@spec, \@chars);\@charsで\がついているところが重要です

my @spec = ();
my @chars = qw/あ い う え お/;
push(@spec, \@chars);

my @chars = qw/か き こ け こ/;
push(@spec, \@chars);
	foreach my $var1 (@jdata) {
		foreach my $var2 (@{$var1}) {
			print "$var2 ";
		}
		print "\n";
	}

2次元配列の表示

配列の表示方法も2種類あるので意味を理解して使いましょう

	foreach my $var1 (@spec){
		foreach my $var2 (@$var1){
			print "$var2 ";
		}
		print "\n";
	}

	foreach my $var1 (@spec) {
		foreach my $var2 (@{$var1}) {
			print "$var2 ";
		}
		print "\n";
	}