sironekotoroの日記

Perl で楽をしたい

すぐわかる オブジェクト指向 Perl 第2章 「参照」は小粒でピリリと辛い 〜 スカラー リファレンス 〜

スカラーリファレンスで1章まるまる?

  • リファレンスについては「どういうものか」は分かるんだけど、スカラーリファレンスって使い道あるんかな・・・?
  • という疑問を持ちつつ本を読んでいく

今の時点で理解している「リファレンス」

  • 変数がおさめられているメモリ上の番地
  • 配列やハッシュもリファレンスにするとスカラーとして扱う事が出来る
  • 配列の中に配列、ハッシュを入れる事は出来ないが、スカラーなら入れられる
  • だからリファレンスにしてスカラーにする事で、配列の中に(リファレンス化した)配列やハッシュを入れる事が出来るようになる
  • リファレンス化した配列やハッシュを元に戻すには「デリファレンス」を行う

!?

$refAge = \14;

print "refAge is $refAge and it contains $$refAge \n";
# refAge is SCALAR(0x7fddf201ad10) and it contains 14

$refName = \"Robin";

print "refName is $refName and it contains $$refName \n";
# refName is SCALAR(0x7fddf201ae78) and it contains Robin
  • $refAge = \14 こんな書き方も出来るのか
    • メモリ空間に直接数値を入れ、そこへのリファレンスが生成されると

スカラー変数のリファレンスはあまり役に立たない

  • ですよねー
  • 次章以降の配列、ハッシュ、サブルーチンリファレンスが楽しみ