TEDIA会員に登録したメールアドレスとパスワードを入力してください

メールアドレス:

     パスワード:


パスワードを忘れた方はパスワードの確認を行ってください。

TEDIA会員へのご登録がお済みで無い方はこちらで登録ができます


>> テクノロジーポータル TEDIA トップページへ戻る <<

Think IT Software Developer's Think IT Find-IT 失敗しないソフト選び Find-IT TEDIA テクノロジーポータル TEDIA インストールマニアックス2008 インストールマニアックス2008

TEDIA SponsorsOpen 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'


前のページ     1    2    3    4    5    次のページ

Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.