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






