メタ構文変数
例示用の名称だよ
特に意味は ないよ
「hoge」とか「fuga」とか「piyo」とか「foo」とか「bar」とかのことだよ
簡単に書くよ
メタ構文変数(読:メタコウブンヘンスウ 英:metasyntactic variable)とは
「hoge」とか「fuga」とか「piyo」とか「foo」とか「bar」とかのこと。
もう少し具体的に書くと
サンプルプログラムとかで適当な名称を使いたいときに使われる「これは何の意味もない名称ですよ~」が暗黙の了解になっている名称のこと
です。
詳しく書くよ
サクっと一言で説明すると
意味がないことが暗黙の了解になっている名称
が「メタ構文変数」です。
例えば、書類を書くときの説明書きなんかには、記入例が載っていたりしますよね。
記入例として「名前:ピヨピヨ 太郎」のように書いてあったりします。
とはいえ、実際の書類には「ピヨピヨ 太郎」とは書きません。
あなたの名前を書きます。
「ピヨピヨ 太郎」は、あくまで例示用の意味のない名前です。
プログラミングにおいて、この
例示用の意味のない名前
に相当するのがメタ構文変数です。
プログラミングでも適当な名称を使いたい場合があります。
例えば、サンプルプログラムを書くときです。
サンプルプログラムで「変数『user_id』にユーザIDを代入する」という処理を書くとしましょう。
そんなときは
user_id = "hoge";
のように書いたりします。
ここで登場した「hoge」は意味のない名前です。
実際の処理では本物のユーザIDを書きます。
サンプルでは実際の値がないので、とりあえず適当な名称を入れています。
この話で登場した「hoge」はメタ構文変数のひとつです。
プログラムを書く人たちの間では「『hoge』は意味のない名前」というのが共通認識になっています。
メタ構文変数がなかったら大変です。
「これは例示で書いてあるの?それとも実際にこう書かないとダメなの?」と混乱を招きます。
例えば、サンプルプログラムに
user_id = "user123";
と書いてあったとしましょう。
実際の処理を書くときもそのまま「user123」と書くべきなのか、それとも別の(実際に使う)ユーザIDに書き換えるべきなのか迷いますよね。
メタ構文変数を使うことで、そんな紛らわしい事態を回避できます。
メタ構文変数としてよく使われるのは、日本では
・hoge
・fuga
・piyo
です。
海外では
・foo
・bar
・baz
あたりが、よく使われます。
これらの名称が出てきたら「あぁ、これは意味のない名称なんだな」と思ってください。
プログラムを書く人たちの間では慣例になっています。
よく出てくるのは「hoge」「foo」「bar」あたりですかね。
技術書なんかでサンプルプログラムを読む機会がありそうな人は覚えておいてください。
注意点として、メタ構文変数は、実際の名称としては使わない方が良いはずです。
例えば「hoge」という名前の変数を用意して
hoge = "ケーキが食べたい";
print hoge;
のような処理は、やらない方が無難です。
動くことは動きますけどね。
試験で実際に解かなくてはいけない問題に「例題」と付けるような違和感があります。
一言でまとめるよ
まぁ「メタ構文変数」って単語が出てきたら「意味がないことが暗黙の了解になっている名称なんだな~」と お考えください。
おまけ
■訳してみるよ
「meta(メタ)」の意味は「高次の」とか「超~」とか「~の後に」とかです。
「構文変数」は日本語ですね。
何となく くっつけると
高次の構文変数
となります。
よく分かりませんね。
■検索してみる?






