Perlがくしゅう帳(Rubyも)

プログラミングの勉強会の参加記録や学んだことなど。 twitter ID : @tomcha_で活動しています。 最近は主にPerl関連の勉強会やコミュニティに参加しています。移転前のブログはこちら->http://ruby.doorblog.jp/

Perl入学式リファレンスの復習問題

なんとなくブログをはてなに移変えてみました。

 

Perl入学式#3の復習問題が出題されていたので、頭の体操がてらコードを書いてみたときに(超初心者過ぎる恥ずかしい)ふとした覚え間違いがあったので、メモ。

Perlの最初の躓き処、リファレンス。躓く以前の注意事項?です。

 

ハッシュや配列の個別の値の呼び出し方法と、デリファレンスの方法は似ているけれど、違うので注意!

 

ハッシュ(又は配列)の個別データのアクセス方法(アロー演算子は使わない)

$hash{key}

$array[n]

 

ハッシュ(又は配列)リファレンスのデリファレンス方法(アロー演算子が必要)

$hash_ref->{key}

$array->[n]

 

リファレンスの箇所は、Cのポインタだの参照だの、概念的な事の理解の方に目が行ってしまっていて、書き方がごっちゃになってました。

 

ちなみに、リファレンスは頭にもう一つ$をつけるとアロー演算子無しで参照出来る様です。何故だろう?

$$hash_ref{key}

 

昨年のPerl入学式の資料をもう一度読み返してみると、ちゃんと省略のところで説明されていましたね。

Perl入学式#4

 

で、復習問題で書いたコードは以下の感じです。