hoge・foo・barとは?意味・使い方・違いを解説!【メタ構文変数】

プログラミングのサンプルコードでよく見かける「hoge」や「foo」などの名前。

これらは「メタ構文変数」と呼ばれ、サンプルコードなどで使われる「意味のない名前」なのですが、こんな疑問を持ったことはないでしょうか?

  • 「hoge」「fuga」「foo」「bar」などの違いは?
  • 「hoge」「fuga」の次は何を使えばよい?
  • 「foo」「bar」の次は何を使えばよい?
  • 「hoge」「fuga」「foo」「bar」などの使い方は?

この記事では、これらの疑問をわかりやすく解説します。

メタ構文変数とは?

メタ構文変数とは?

メタ構文変数とは、サンプルプログラムなどで適当な名前を使いたいときに使われる「意味のない名前」のことです。

たとえば、サンプルプログラムを示すときに実際の変数名を決める必要がない場合に使われます。

代表的なものには、hoge」「fuga」「piyo」(日本でよく使われる)foo」「bar」(英語圏でよく使われる)などがあります。これらはどれも「特に意味を持たない名前」です。

ではここから、もう少し詳しくメタ構文変数について解説してきます。

メタ構文変数は英語では「metasyntactic variable」と言います。

日本では「hoge」「fuga」「piyo」「hogehoge」などを使う

日本では、「hoge(ホゲ)」「fuga(フガ)」「piyo(ピヨ)」「hogera(ほげら)」「hogehoge(ほげほげ)」といった名前がメタ構文変数としてよく使われます。

このメタ構文変数は「使う順番」があります。

まず最初にhogeを使い、次にfugapiyohogeraと続くのが一般的です。つまり、hoge → fuga → piyo → hogeraのような順番で使われます。そのため、fugapiyoだけを単独で使うことはないです。hogeを使ったあとにfugaが登場します。

また、メタ構文変数は、同じ名前を繰り返してバリエーションを作ることがあります。

たとえば、hogehogepiyopiyoのように、同じ単語を2回続ける「繰り返し型」がよく使われます。一方で、hogepiyoのように違う名前を組み合わせる「組み合わせ型」はあまり見かけません。

補足

「ほげほげ」という言葉が変化して、「ほげる」という動詞が生まれたこともあります。「ほげる」は、「何か新しいことを試す」「いじってみる」といった軽いニュアンスで使われることがあります。

英語圏では「foo」「bar」「baz」などを使う

英語圏では、「foo(フー)」「bar(バー)」「baz(バズ)」といった名前がメタ構文変数としてよく使われます。

英語圏でよく使うメタ構文変数にも「使う順番」があります。

まず最初にfooを使い、次にbarbazと続くのが一般的です。つまり、foo → bar → bazのような順番で使われます。そのため、barbazだけを単独で使うことはないです。fooを使ったあとにbarが登場します。

英語圏でよく使うメタ構文変数もバリエーションを作ることがあります。

たとえば、foobarのように違う名前を組み合わせる「組み合わせ型」がよく使われます。一方で、foofoobarbarのような同じ単語を2回続ける「繰り返し型」はあまり見かけません。

日本や英語圏でよく使うメタ構文変数の違いについて整理すると以下のようになります。

よく使うメタ構文変数バリエーション備考
日本語圏hoge / fuga / piyo繰り返し型(hogehoge「組み合わせ型」は少ない
英語圏foo / bar / baz組み合わせ型(foobar「繰り返し型」は少ない

【その他】Pythonでは「spam」「ham」「eggs」などを使う

プログラミング言語Pythonでは、他の言語とは少し違った「spam(スパム)」「ham(ハム)」「eggs(エッグ)」というメタ構文変数がよく使われます。

このユニークな名前は、Pythonという言語名の由来でもあるイギリスのコメディ番組「Monty Python(モンティ・パイソン)」に由来しています。

番組の中には有名なスケッチ(コント)で「Spam(スパム)」というネタが登場します。そこから派生して、Pythonではspamhameggsといった“食べ物シリーズ”のメタ構文変数が定着したのです。

本記事のまとめ

この記事では『メタ構文変数』について、以下の内容を説明しました。

  • メタ構文変数とは?
    • サンプルコードなどで使われる「意味を持たない仮の名前」のこと。
  • 「hoge」「fuga」「foo」「bar」などの違いは?
    • 日本では「hoge / fuga / piyo」など、英語圏では「foo / bar / baz」などが使われる。
  • 「hoge」「fuga」の次は何を使えばよい?
    • 一般的に「hoge → fuga → piyo → hogera」の順で使われる。
  • 「foo」「bar」の次は何を使えばよい?
    • 一般的に「foo → bar → baz」の順に使われる。
  • 「hoge」「fuga」「foo」「bar」などの使い方は?
    • サンプルや説明用に、意味のある変数名を決める前の“仮の例”として使う。
  • メタ構文変数のルールは?
    • 一定の順番で使う慣習があり、同じ単語を繰り返す(例:hogehoge)または組み合わせる(例:foobar)ことでバリエーションを作る。

お読みいただきありがとうございました。

スポンサーリンク