Open Source Web Development Tutorials - Dev Shed
Perl入門:データ型と演算子
(2009/02/18公開)
ハッシュドビーフはうまい
書くというのは、どうやら、腹の減る仕事みたいだ。単に筆者が貪欲(どんよく)な豚であるだけかもしれないが。 この次のトピックは、どう言う訳だか知らないが、食べ物...細切れ料理、ハッシュドビーフを思い出させる。腹が減った...。
つまり、何を言いたいかと言うと、第3のデータ型はハッシュだと言うことだ。ハッシュはリストと似ているが、順番には並んでいない。順番ではなく、キーと呼ぶスカラーセットの指標が付いている。それにどんな意味があるの?と思うかもしれないが、まあ、ちょっと我慢して付き合ってもらいたい。
次のすばらしいコードを見てほしい。筆者が書いた。
#!/usr/local/bin/perl
%fat_people = {'James ', '400 ', 'YoMama ', '900 '};
print %fat_people
出力は次のようになる。
James 400 YoMama 900
いくつかの点に注目してほしい。 まず、printを使用して、ハッシュ全体を出力するようにしたので、すべての値が出力されている。次に、ハッシュの命名規則は、%記号を前置きする点を除き、ほかのデータ型と同じだ。
この記号が、ハッシュの証しだ。例えば、このハッシュからYoMamaの体重だけを出力したいときは、次のようにする。
#!/usr/local/bin/perl
%fat_people = {'James ', '400 ', 'YoMama ', '900 '};
print $fat_people{'YoMama'};
出力は次のようになる。
900
上のコードでは、インデックスキーYoMamaを使用したので、その体重の900が出力されたのだ。ハッシュでは、すべてのものを一列に並べるのではなく、最初のスカラーがインデックスキーとして、次のスカラーがデータとして、そしてその次が...として使用される。Jamesの体重(つまり400)を出力したいときは、Jamesを呼び出す。簡単だよね?
さらに、1つの結果を出力するときは$記号に変更していることに気付いたと思うが、それはスカラーだけを出力するためだ。
もう少し明快にするには、上のハッシュを次のように記述するとよい。
%fat_people = ('James ' => '400', 'YoMama' => '900'
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








