リファレンス
何かを参照しているよ
あるいはリファレンスマニュアルのことだよ
あるいはPerlにおけるC言語でいうポインタみたいなものだよ
簡単に書くよ
リファレンス(英:reference)とは
何かの値を参照しているもののこと。
あるいは
全体を網羅して一覧化されている、辞書的な使い方をする説明書(リファレンスマニュアル)のこと。
あるいは
プログラミング言語のPerlにおいて使われる表現で、C言語でいうポインタみたいなもの
です。
詳しく書くよ
一番大きなくくりで言えば
何かを参照しているもの
が「リファレンス」です。
英語の「reference」は「参照」や「照合」のような意味ですからね。
何かを参照・照合していれば「リファレンス○○」と呼んで差し支えないでしょう。
ただ、IT関連で出てきた場合は、リファレンスマニュアルのことか、Perlのリファレンスを意図することが多いと思います。
リファレンスマニュアルは「辞書的な使い方をする説明書」です。
機能や使い方、注意事項などの全体を網羅している辞書っぽいやつで、最初のページから順番に見ていくのではなく、必要に応じて必要な部分をつまみ食いする類の資料です。
プログラミング言語のPerlで出てくるリファレンスは、C言語でいうポインタ(ポインタ変数)のようなやつです。
「ポインタって何ですか?」な人は、まずは、用語「ポインタ変数」の説明を ご覧ください。
遠回りに思えるかもしれませんが、ポインタの概念を押さえておいて損は ありません。
逆に言えば、ポインタの概念が分かっていれば、Perlのリファレンスを理解するのは楽なはずです。
……C言語のポインタについては、バッチリになりましたでしょうか?
それでは、C言語のポインタを理解している前提で、Perlのリファレンスについて説明します。
C言語のポインタでは
p = &a;
と書くことで、変数「a」の居場所(メモリ上のアドレス)をポインタ変数「p」に入れられました。
同じようにPerlでも
$p = \$a;
と書くことで、変数「$a」の居場所(メモリ上のアドレス)を変数「$p」に入れられるのです。
また、C言語のポインタでは
*p
と書くことで、変数「a」の中身を参照できました。
同じようにPerlでも
$$p
と書くことで、変数「a」の中身を参照できるのです。
ここまでを踏まえて本題です。
Perlにおいて
$p = \$a;
のようにして変数のアドレスを他の変数に入れることを「リファレンス」と言います。
あるいは、変数のアドレスを入れた変数「$p」を「リファレンス」と言ったり、アドレス化した変数「\$a」を指して「リファレンス」と言う場合も あります。
細かいニュアンスは前後の文章によって違ってきたりしますけどね。
いずれにせよ「変数のアドレスを取得する行為」に関連する何かを指す用語です。
ちなみに
$$p
のようにして、リファレンスの指し示す先の値を取得・参照することは「デリファレンス」と言います。
リファレンスとデリファレンスはセットで覚えてあげてください。
多少の語弊はありますが
リファレンス→変数をアドレス化
デリファレンス→アドレスから元の変数を復活
と考えると分かりやすいと思います。
なお、C言語のポインタとPerlのリファレンスは、実際には細かい部分で違いがあります。
今の段階では気にしなくて良いですけどね。
深く突っ込んで勉強するときは、ご注意ください。
これがPerlにおけるリファレンスです。
Perl以外にも「リファリンス」という表現が使われるプログラミング言語はあるみたいですけどね。
基本的にはPerlのリファレンスと同じです。
一言でまとめるよ
まぁ「リファレンス」って単語が出てきたら「何かを参照しているもの、もしくは、リファレンスマニュアル
(辞書的な使い方をする説明書)のこと、もしくは、PerlにおけるC言語でいうポインタみたいなものなんだな~」と お考えください。
おまけ
■訳してみるよ
「reference(リファレンス)」の意味は
・言及
・論及
・参照
・照合
・参考
・引用文
・参考文献
・参考図書
とかです。






