Hatena::Grouparaistudy

iwasekiの日記

2006-09-25

[]3章 リストと配列(その2) はてなブックマーク - 3章 リストと配列(その2) - iwasekiの日記

リスト代入

配列の名前の前にアットマーク(@)を付けるだけで、配列全体を表すことになります

試してみよう。

#!/usr/bin/perl -w

@list = qw/ aaa 3.141592 BBBBB /;
print @list,"\n";
print $list[0],"\n";
print $list[1],"\n";
print $list[2],"\n";

これを実行してみると、

aaa3.141592BBBBB
aaa
3.141592
BBBBB

おもしろいのは、1行目でちゃんと文字と数値を判断していること。

型の概念がないっていうのはすごいなぁ。

pop演算子とpush演算子

配列をスタックとしてみなして、pushで入れてpopで出せってことね。

#!/usr/bin/perl -w

@list = 1..10;
$ten = pop (@list);
$nine = pop @list;      #()がなくてもいい
pop @list;              #無効コンテキスト:最後尾の値を1つ捨てる
push @list, 100;


@list2 = 1..2;
$one = pop @list2;
$two = pop @list2;

print $ten,"\n";
print $nine,"\n";
print @list,"\n";
print @list2;           #undefを返すはずなので出力されないはず

さて、思ったどおりに出力されるかな。

10
9
1234567100

順調?