本文へスキップ
BecomeCoder

Perlコース · 第5章 ハッシュ · レッスン16

ハッシュの基本 ― キーと値のペア

ブラウザで完結

導入

配列が「番号で引く」のに対し、ハッシュは「名前(キー)で引く」入れ物です。%名前 で作り、1つの値を出すときは $名前{キー} と書きます。

説明

my %ハッシュ = (キー => 値, キー => 値, ...); で作ります。=>(ファットカンマ)は左側のキーを自動で文字列にしてくれるので、キーは裸の単語で書けます。値の取り出し・書き換えは $ハッシュ{キー} です。

use strict;
use warnings;

my %price = (
    apple  => 120,
    banana => 80,
    cherry => 300,
);

print "りんごは $price{apple} 円\n";     # 120
$price{banana} = 100;                    # 書き換え
print "バナナは $price{banana} 円\n";     # 100

$price{grape} = 400;                     # 新しいキーを追加
print "ぶどうは $price{grape} 円\n";      # 400

やってみよう

キーや値を書き換えたり、新しいキーを足したりして、$price{...} の表示が変わることを確かめましょう。

演習

ハッシュ %age(alice => 30, bob => 25) を入れ、$age{alice} を使って Alice is 30 と表示してください。

ヒント1を見る

my %age = (alice => 30, bob => 25); のあと print "Alice is $age{alice}\n";

実際に動かしてみよう

下のエディタにPerlを書いて「実行」を押すと、学習用シミュレータが print / say の出力を表示します(本物のperlではなく、教材の範囲を再現した軽量なエンジンです)。スカラ/配列/ハッシュ・制御構文・サブルーチン・正規表現(=~ / s///)なども動きます。本文の例を書き換えて動かしてみましょう(ファイル入出力・リファレンス・CPANモジュールなど一部の機能は対象外です)。

Perl — ブラウザ内で実行(学習用シミュレータ)

Perlの教材サブセットを動かす学習用シミュレータを読み込みます(本物のperlではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。