bar
例示用の名称だよ
特に意味は ないよ
「foo」だけでは足りないときに使うよ
海外で よく使われるよ
簡単に書くよ
bar(読:バー)とは
「foo」だけでは足りないときに使う意味のない名称。
もう少し具体的に書くと
サンプルプログラムとかで適当な名称を使いたいときに使われる「これは何の意味もない名称ですよ~」が暗黙の了解になっている名称(メタ構文変数)のひとつ
であり
意味のない名称としてすでに「foo」を使っている状態で、もう1つ別のやつを使いたいときに登場する意味のない名称
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「メタ構文変数」について結構ガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
メタ構文変数は「意味がないことが暗黙の了解になっている名称」です。
例えば、書類を書くときの説明書きなんかには、記入例が載っていたりしますよね。
記入例として「名前:ピヨピヨ 太郎」のように書いてあったりします。
とはいえ、実際の書類には「ピヨピヨ 太郎」とは書きません。
あなたの名前を書きます。
「ピヨピヨ 太郎」は、あくまで例示用の意味のない名前です。
プログラミングにおいて、この
例示用の意味のない名前
に相当するのがメタ構文変数です。
プログラミングでも適当な名称を使いたい場合があります。
例えば、サンプルプログラムを書くときです。
サンプルプログラムで「変数『user_id』にユーザIDを代入する」という処理を書くとしましょう。
そんなときは
user_id = "hoge";
のように書いたりします。
ここで登場した「hoge」は意味のない名前です。
実際の処理では本物のユーザIDを書きます。
サンプルでは実際の値がないので、とりあえず適当な名称を入れています。
この話で登場した「hoge」はメタ構文変数のひとつです。
プログラムを書く人たちの間では「『hoge』は意味のない名前」というのが共通認識になっています。
メタ構文変数がなかったら大変です。
「これは例示で書いてあるの?それとも実際にこう書かないとダメなの?」と混乱を招きます。
例えば、サンプルプログラムに
user_id = "user123";
と書いてあったとしましょう。
実際の処理を書くときもそのまま「user123」と書くべきなのか、それとも別の(実際に使う)ユーザIDに書き換えるべきなのか迷いますよね。
メタ構文変数を使うことで、そんな紛らわしい事態を回避できます。
以上を踏まえて
メタ構文変数のひとつ
が「bar」です。
「bar」は世界的に(日本以外で)よく使われる「これは意味のない名称ですよ~」な名称です。
世界的に(日本以外で)よく使われるメタ構文変数には他に「foo」があります。
一般的には、まず「foo」を使います。
「foo」だけでは足りないときに登場するのが「bar」です。
適当な名称を使いたい場合は多々ありますが、適当な名称が1つで足りるとは限りません。
2つ以上使いたい場合も あります。
例えば「変数『user_id』にユーザIDを、変数『password』にパスワードを代入する」という処理のサンプルプログラムを書くとしましょう。
そんなときは
user_id = "foo";
password = "bar";
のように書いたりします。
「foo」の部分には実際は本物のユーザIDが入ります。
「bar」の部分には実際は本物のパスワードが入ります。
サンプルでは実際の値がないので、とりあえず適当な名称を入れています。
ユーザIDとパスワードには別の値が入るのが普通です。
もしも
user_id = "foo";
password = "foo";
と書いたら「user_id」にも「password」にも同じ値を入れるように見えてしまいます。
そんな事態を避けるために「foo」が登場した後に登場させるのが「bar」です。
一言でまとめるよ
まぁ「bar」って単語が出てきたら「『これは何の意味もない名称ですよ~』な名称なんだな~」と お考えください。






