こんにちは、@codeship_techです。
普段、分からないことや知りたいことを検索して技術記事を見ているときによく見かける「hoge」とか「fuga」って、最初はなんの文字列なのか非常に気になったものです。
今回はそんな初心者あるあるの疑問に講師が答えてくれました。
解説記事に出てくる「hoge」とか「fuga」って何ですか?
「何でもよい、意味のない名前」のことです。それらの名前自体に特別な意味はありません。
意味のない名前:メタ構文変数
技術系の解説記事を読んでいると“hoge”とか“fuga”とか、そういう名前がよく登場すると思います。
例えば、以下はシンボリックリンクを作成するlnコマンドの使い方の案内です。
$ ln -s hoge fuga
この案内の中で言いたいことは「ln -s コマンドは第一引数のファイルから第二引数の名前でシンボリックリンクを作成できる」ことだけであり、実例を示すときのその名称自体はどうでもよいのです。
どうでもよいけれど、書く側としてはサンプルを考えるのに時間を取られることも癪です。
また、色々サンプルになる名前を用いていると、適切な名前が足りなくなってしまうかもしれません。
合わせて読みたい:名前空間
そこで慣習として、「説明したいことの趣旨とは一切関係のない、何でもよいことを示す名前」として“hoge”(読み方: ほげ) や“huga”(読み方:ふが)を用いることが知られています。
これをメタ構文変数と言います。
メタ構文変数として有名なのは以下でしょうか。
変数名 | 読み方 |
hoge | ほげ |
fuga | ふが |
hogehoge | ほげほげ |
piyo | ぴよ |
foo | ふー |
bar | ばー |
baz | ばず |
他にも実質的にメタ構文変数になっている例として、以下があります。
$ cd path/to/dir
path/to/dir
というディレクトリは**実際には存在しません**(自分で作っていない限り)。
これは「なんでもいいディレクトリへのパス名」を指しているので、実際に使用する場合は自分の環境に合わせた適切なディレクトリ名に置き換えてやる必要があります。
また、英語のドキュメントで登場するのですが、
{
"name": "John Doe"
}
"john Doe"
とは、日本語だと「名無しの権兵衛」に当たる、意味のない名前です。
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum
(ロレムイプサム) は典型的なダミーテキストで、「ここに長い文章が入る予定ですよ」ということを表すだけですのでhogeやfugaと同じ役割をします。