sironekotoroの日記

Perl で楽をしたい

続・はじめてのPerl 第2版 第5章 リファレンスとスコープ

無名配列

  • そういうことなんですか!と
my $ref;
{
my @skipper = qw(blue_shirt hat jacket preserver sunscreen); $ref = \@skipper;
print "$ref->[2]\n"; # jacket\nを表示 
}
print "$ref->[2]\n"; # ここでもまだjacket\nを表示、参照カウントは1
  • ほうほう
  • 配列@skipperはスコープが終わるとそこで消滅するけど、リファレンスだけは残っており、参照が可能と。
    • でも、何のために無名配列があるんだろう?
    • どういうときに使うのか、いまいち想像がつかない

無名ハッシュ

  • ・・・ふと、今まで勉強してきた配列やハッシュは不要で、全部無名配列と無名ハッシュでいいんじゃね?とか思い始める
  • でも、そうしたら初心者にきつそうな気もする。
  • シジルと ( [ { の嵐でとっつきにくそう
    • そんでメモリの使用量が無駄に多くなりそう

練習問題 5-2

  • 降参。
  • 回答が効率的で美しくて、自分の発想の貧困さに泣ける
    • ファイルから読み込むのと同時に変数に入れてる
    • それだけではなく、この時点でソースごとの合計値も出してる
    • ハッシュのsortに苦手感