Open Source Web Development Tutorials - Dev Shed
Perl入門:プログラミングを始めよう
(2009/02/04公開)
リストデータ型
現実の世界ではフォルダにガラクタを詰め込んでいることがある。引き出しの中に、AからZのアルファベット順に並べられた26個のフォルダがあるとしよう。読者はプログラマなので、そのファイルには、振られた女性の名前と住所が入っている。若いプログラマなら、引き出しは1つだけで済むだろうが、年を食っていれば、そう、引き出しではなく戸外の物置かもしれない。いずれにしても、それはリストデータ型の例である。
簡単に言えば、リストとは、順番に並べたスカラーの集まりだ。スカラーを順番に並べる方法はさまざまだが、それについては後で取り上げることにしよう。ほかのプログラミング言語の「配列」を知っていれば、それがリストと同じものであることが分かるだろう。
リストにデータを格納する方法は、次のようになる。
@my_cats = {'Joni ', 'Chachi ', 'Richie ', 'Fonzie ', 'Potsy '};
上のコードは、5つのスカラーが格納されたリストを1つ作成する。次のコードを実行すると
#!/usr/local/bin/perl
@my_cats = {'Joni ', 'Chachi ', 'Richie ', 'Fonzie ', 'Potsy '};
print @my_cats;
次のように出力される。
Joni Chachi Richie Fonzie Potsy
リストには数値も格納できる。やりたければ、数値と文字を混ぜることもできる。Perlでは構わない。ハーシーのチョコレートバー(アーモンド入りのやつ)の包装をむくのに忙しいから。
お分かりのように、リストの名前には@記号を前置きする。名前には小文字を使用し(少なくとも筆者は)、語と語をアンダースコアで区切るのがベストだが、別にそうしなくてもよい。
ある女性が、筆者の猫プログラムを使用して、筆者の飼っているすべての猫の名前を調べたいと思っているとしよう。非常に多いので困ってしまうが(実際にそうであれば、そのように思うだろう)。それで、リストから1匹の名前だけを表示するプログラムを作成することにする。
#!/usr/local/bin/perl
@my_cats = {'Joni ', 'Chachi ', 'Richie ', 'Fonzie ', 'Potsy '};
print $my_cats[1];
このコードは、画面に「Chachi」と出力する。読者が何を考えているかは分かっているし、読者はビスケットをすぐ食べることだってできる(手の届くところにある...すまない、おなかが減っているもので)。なぜ、「Joni」と出力されなかったのか?それは簡単。リストは0から始まるから。「Joni」と「Richie」を出力するには、次のコードを使用する。
#!/usr/local/bin/perl
@my_cats = {'Joni ', 'Chachi ', 'Richie ', 'Fonzie ', 'Potsy '};
print $my_cats[0,2];
上の例では、最後の行の@記号が$記号になっていることに気付いたかもしれない。これは、わざとあなたを混乱させたいためだけではない。項目(複数のスカラー)の全体ではなく個別の部分を呼び出すためには、これが必要なのだ。
配列を取り扱うときは、例のルールが適用されることに注意しよう。短縮形のリストを使用したい場合は、次のようにする。
#!/usr/local/bin/perl
@my_contractions = {'Won\'t ', 'Can\'t ', 'Don\'t '};
print @my_contractions;
上のコードの出力は次のようになる。
Won't Can't Don't
まとめ
データ型、つまりこのシリーズはこれで終わりではないが、このチュートリアルはこれで終わりだ。次のチュートリアルでは、リストのラップと第3のデータ型を取り上げ、データを操作する演算子の使用方法を学ぶ。
じゃあ、また次回に...
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








