keisukeのブログ

***乱雑です!自分用のメモです!*** 統計や機械学習の勉強と、読み物を書く練習と、備忘録用のブログ

メタ構文変数,意味のない言葉のリスト

参考:http://dev.classmethod.jp/etc/metasyntactic-variables/

メタ構文変数」とは,fooやbar,日本ではhogeやfugaなど,「意味のない」ことを意味する言葉たちです.一時的に何かをしたいときや,読者に対して「意味がない言葉である」ことを示すためにあえて使われたりします.

上記の記事でいろいろな例が挙げられており,また,メタ構文変数に備わっているべき性質も議論されています.それは「順番がわかるべき」「覚えやすく,判別しやすい」「ある程度の量が用意されている」などです.「順番がわかるべき」というのは,fooのあとはbarを使う,のようにメタ構文変数に順位があることです.これがあることで何番目の変数なのか,前にいくつ意味のない変数があるのかの把握が容易になります.また,「覚えやすく,判別しやすい」というのはそのままの意味です.もしもメタ構文変数としてhoge, honge, holge, horge, hodgeを使ったら,自分でもどれがどれかわからなくなる上に,口頭で人に伝えづらくなります.「ある程度の量が用意されている」というのは,意味のないシリーズの単語が3つで終わり,ではなくちゃんと9個10個ありますか?ということです.3個程度では足りなくなることがあります.

以上を踏まえて,次のようなメタ構文変数が上記の記事で挙げられています:

  • foo, bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud
    • 順番はfoo,bar,bazあたりまでわかる.しかし,baz以降を覚えている人はあまりいないのでは・・・判別性も微妙.
  • hoge, fuga, piyo, (hogehoge, mogera)...
    • 順番はほぼ無い.私が日本人なので,覚えやすさはある.判別性もそこそこ.しかし,日本でしか通じない.
  • spam, ham, eggs, ...
    • 朝食シリーズ.順番は一応ある.Pythonでよく使われるらしい.種類が少なすぎる?
  • Alice, Bob, Eve, ...
    • 人名シリーズ.暗号界隈で使われる.人物AがAlice,人物BがBob,盗聴者(Eavesdropper)がEveなので順番があるし覚えやすい.判別性もよい.ただし,意味がない文字になっているかと言われると微妙.AliceさんもBobさんも存在するし・・・

他にもいろいろ考えてみました.日本でしか通用しそうにないものも混じっていますが・・・(もし他にあったらぜひ教えてください!):

  • 甲・乙・丙・丁・戊・己・庚・辛・壬・癸
    • 十干シリーズ.順番完璧.種類も10個と多い.しかし,おそらく日本(と中国?)でしか通じない.あと,判別性も微妙.庚と癸に至っては,どちらも「き」である.
  • いろはにほへと...
    • いろはシリーズ.順番完璧.種類も多い.日本でしか通じない.あと,あまりにも単語ひとつが短すぎるので微妙.
  • 丑寅卯辰巳午未申酉戌亥
    • 十二支シリーズ.十干シリーズと同じメリットデメリットを抱える.
  • ドレミファソラシ (Do Re Mi Fa Sol La Si)
    • 音階シリーズ.日本以外でも通じそう(ドレミ,じゃなくてCDE,なことも多いけど).ただし,「ソ」だけ3文字で気に食わないのと,「Do」がやばすぎる*1ので非推奨っぽい.
  • 月火水木金土日 (Mon, Tue, Wed, ...)
    • 曜日シリーズ.世界どこでも通じそう.ただ,意味のない言葉かと言われると微妙.
  • H, He, Li, Be,...
  • 水金地火木土天海 (Mercury, Venus, Earth)
    • 太陽系シリーズ.順番良し.判別性よし.ただ,ちょっと単語ひとつが長いかも.ただし,オシャレである.

*1:doは多くのプログラミング言語で意味を持つ単語である