スマイル!
2次元配列の練習の為に、スマイルマークを表示するプログラムを作ってみました。
# smile.pl
my $smile = [
[ 0, 0, 1, 1, 1, 1, 0, 0 ],
[ 0, 1, 0, 0, 0, 0, 1, 0 ],
[ 1, 0, 1, 0, 0, 1, 0, 1 ],
[ 1, 0, 1, 0, 0, 1, 0, 1 ],
[ 1, 0, 0, 0, 0, 0, 0, 1 ],
[ 1, 0, 1, 0, 0, 1, 0, 1 ],
[ 1, 0, 0, 1, 1, 0, 0, 1 ],
[ 0, 1, 0, 0, 0, 0, 1, 0 ],
[ 0, 0, 1, 1, 1, 1, 0, 0 ],
];
for $row (@$smile) {
for $dot (@$row) {
print $dot ? '■' : ' ';
}
print "\n";
}
$smile に表示する絵を2次元配列で入れています。表示は for ループ(foreach ループ)で行なっています。とても簡潔に書けますね。(^_^)
最初の for ループは各列(row)分繰り返し、その中の for ループは各行(column)分繰り返しています。列の終わりで改行しています。
実行結果です。
■■■■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■■ ■ ■ ■ ■■■■
にこっ。