読者です 読者をやめる 読者になる 読者になる

sironekotoroの日記

Perl と Mac の初心者の備忘録

かんたんPerl 第5章 ハッシュとは何か

ぐだぐだ

  • メインで利用している Sublime Text2 から Terminal を呼び出せなくなっており、その設定をやり直したり何なりで午前中を費やす
  • そして直らない
  • うちは Perl の勉強がしたいのに、エディタの設定に振り回されている事に腹が立つー

ハッシュ

  • 何年前だろう、ハッシュの概念分からなくて、「別になくてもいいもーん」などと思ってた事を思い出す
    • 今となっては当時の自分が信じられない

ハッシュスライス

  • 配列のスライスは前回やったけど、ハッシュスライスって今までの初心者本にあったっけか・・・?

    • もちろん、自分が忘れているだけの可能性大いにあり
  • なるほど、配列のスライスは添字でとってくるけど、ハッシュスライスはキーでとってくると。

  • そして、ハッシュスライスは配列になるので、 % が @ になる、と。
    • 納得感ある
  • なお、以下のスクリプト、テキストでは「小の月」のハッシュスライスに December (12月)が入っているので、 November に直してある。
# month_hash3.pl -- 小の月をリスト出力する(ハッシュスライス使用)

use strict;
use warnings;
use 5.010;

my $name  = shift;
my %month = (
    "January"   => 1,
    "February"  => 2,
    "March"     => 3,
    "April"     => 4,
    "May"       => 5,
    "June"      => 6,
    "July"      => 7,
    "August"    => 8,
    "September" => 9,
    "October"   => 10,
    "November"  => 11,
    "December"  => 12,
);

my @shotr_month = @month{"February" , "April" , "June" , "September" , "November"};

say "小の月: @shotr_month" # 小の月: 2 4 6 9 11

ハッシュエントリの削除にdelete

  • 使った事なかった・・・なるほど。