Perl/Perlの基礎知識

Perl のハッシュの使い方(2ページ目)

Perl の変数の形の一つである「ハッシュ」の使い方を覚えましょう。

井上 みやび子

執筆者:井上 みやび子

Perlガイド

変数宣言と同時にハッシュに代入する方法

スカラー変数の場合は変数宣言と同時に変数に値の代入もできました。

スカラー変数で変数宣言と同時に代入
my $taro_name = '太郎';
my $taro_shincho = 1.6;
my $taro_taiju = 60;
ハッシュの場合、変数宣言と同時に代入もしたい場合は、以下のように書きます。
my %taro = (
name => '太郎',
shincho => 1.6,
taiju => 60,
);
形式は以下の通りです。
my %変数名 = (
キー1 => '文字列',
キー2 => 数値,
);
代入する値は、数値ならクオート無し、文字列ならクオートします(※1)。「キー => 値」の後はカンマを付けて下さい。

※1 クオートについて詳しくは: 「Perl の文字出力方法

ハッシュへの代入のタイミング

変数宣言と同時にハッシュに代入を行う場合でも、全てのキーを代入しなくても構いません。キーは後からいくらでも追加できます。

例えば以下のように、taiju だけ別に代入してもOKです。
my %taro = (
name => '太郎',
shincho => 1.6, #メートル
);
$taro{taiju} = 60; #kg

いつ変数に値が代入されるか

ただし以下のように、代入した値を使った計算まで変数宣言と一緒に代入しようとしてもうまくいきません。代入は my で始まる記載がセミコロンで終わった時に初めて完了します。

代入がうまくいかない書き方
my %taro = (
name => '太郎',
shincho => 1.6, #メートル
taiju => 60, #kg
bmi => $taro{taiju} / ($taro{shincho} * $taro{shincho}),
); # ここで初めて代入が実行される

>次は:どんな時にハッシュを使うのか
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます