「foo」は実際にはどういう意味ですか?


232

これがプログラミングの質問に当てはまるといいのですが、他のプログラミングチュートリアルと同様に、コード例で最終的に「foo」に出くわします。(ええ、その通り?)

「foo」は本当にどういう意味ですか?

意味がない場合は、いつ使用され始めたのですか?


前のコメントでリンクされた質問は明らかに削除されました。削除された質問の非公式アーカイブ:stackoverflow.hewgill.com/questions/262/271.htmlで引き続き利用できます。この関連する削除された質問も参照してください:stackoverflow.hewgill.com/questions/163/229.html
HugoRune

1
この質問は語源についての問題であるため、トピックから外れているように見えます
bummi 2013

1
この質問は、ヘルプセンターで定義された範囲内のプログラミングに関するものではないため、トピックから外れています。
l4mpi 2014年

3
この質問はプログラミングの問題ではないので、トピック外として締めくくります。
サービー16

回答:


138

参照:RFC 3092:「Foo」の語源、D。Eastlake 3rd et al。

簡潔にするために、そのRFCの関連する定義のみを引用します。

  1. 非常に一般的に、特に何でも絶対にサンプル名として使用されます。プログラムとファイル(特にスクラッチファイル)。

  2. 最初に、構文例で使用されるメタ構文変数の標準リスト(bar、baz、qux、quux、corge、grault、garply、waldo、fred、plugh、xyzzy、thud)。[ジャーゴン]


25
ああ、それは素晴らしいことです。彼らはFooのRFCを持っています。
マークトムリン

5
Mark Tomlin、そのRFCの日付を見てください。
Windowsプログラマ、

6
RFCとは;-)?
バスティアンヴァンダム

1
@Pentarex RTFMとは;-)?
CodesInChaos

3
RFC-「Request For Comments」ドキュメントは、ARPANETの開発に関する非公式のメモを記録するのを助けるために、1969年にSteve Crockerによって発明されました。それ以来、インターネットの仕様、プロトコル、手順、およびイベントの公式記録になっています。出典:http
ZygD 2015年

44

fooプレースホルダー名として使用されます。通常、コード例では、名前が付けられているオブジェクトまたは名前の選択が、例の要点の一部ではないことを示します。foo多くの場合、続いてbarbaz、さらにはbundy、複数のそのような名前が必要な場合。ウィキペディアはこれらの名前をメタシンタクティック変数と呼んでいます。Pythonプログラマおそらく使用spameggsham、代わりのfoo、など

SAにはfooの適切な使用法があります。

fooプログラマが意味のある名前を(tmpたとえば、の代わりに)考えることができないときにも使用されているのを見てきましたが、それはの誤用だと思いfooます。


22

「フー」の定義には多くの意味があります。

  • barとbazは、foobar、barbaz、foobazなどの単語を作成するためにしばしば複合されます。 www.nationmaster.com/encyclopedia/Metasyntactic-variable

  • CMLの主要な概念。通常、XMLElementsに直接マッピングされます(後で説明します)。 wwmm.ch.cam.ac.uk/blogs/cml/

  • 1ヘクタールあたりの牧草乾燥物質のキログラム(kg DM / ha)で表される、パドック内の牧草の総量の測定 www.lifetimewool.com.au/glossary.aspx

  • フォワードオブザベーションオフィサー。歩兵と戦車大隊を残して前線に観測ポストを設置し、そこから敵の位置を観測し、ターゲットの座標を後部の銃に無線送信する砲兵士官。 members.fortunecity.com/lniven/definition.htm

  • 一般的に使用される最初のメタ構文変数です。foob​​arを作るためにbarと組み合わせられることもあります。これは、fooがための頭字語として、第二次世界大戦のスラング用語をめちゃくちゃに発信している可能性が示唆F ucked / F ouled U P B eyond A LL Rジャーゴンファイルはかなり良いケース...になりますが、ecognition 説明ガイドを。 info / meaning / Metasyntactic-variable.html

  • Fooは、概念を抽象的に表すためにコンピューターサイエンスで頻繁に使用されるメタ構文変数であり、...の任意の部分を表すために使用できます... en.wikipedia.org/wiki/FOo

  • Fooは、Obert SkyeのLeven Thumpsシリーズの夢の世界です(そうではありません)。多くの元の住民がいますが、現在の居住者のほとんどは現実から来ており、一過性として知られています。... en.wikipedia.org/wiki/Foo(場所)

  • またfoo '。T氏のアクセントでの愚か者(愚かな人)の 表現en.wiktionary.org/wiki/foo

リソース:google


すばらしい回答ですが、おそらくJargonファイルエントリへのリンクを配置する価値があります。catb.org
Dave Webb

Googleの結果は答えではありません
nialljsmith 2008

2
Googleの結果は答えではありません<<わかりません。それで答えは何ですか?あなたが考えたら?保証なし?または私はここに多数のサイトへの実際のリンクをドロップする必要がありますか?私は、stackoverflowが他のサイトへのリンクだけでなく、1つの場所にある必要があると思います。それで、これをすべて1つのスレッドに投稿しました。
LukasŠalkauskas08年

ねえ、あなたがすべての非プログラミング関連の回答を投稿するつもりなら、なぜ彼らが見たUFOに与えられたWWIIパイロットの名前を "foo-fighter"と省略し、識別できなかったが敵の戦闘機と推定されたのですか?
Kmeixner 2017


9

foo =ファイルまたはオブジェクト。オブジェクト変数またはファイル名の代わりに使用されます。


7

それは何も意味していないと思う。ウィキは言う:

「Fooは通常、メタ構文変数barおよびfoobarとともに使用されます。」


3

フランスのfouの音(例:amour fou)[クレイジー]英語で書かれたものは、fooでしょう。その他のfurchtbar-> foobar-> foo、bar-> barfoo->barfuß(裸足)。ただのふou。歯のない足。

私が同意するのは、それが意味するものであると述べたすべてのものに同意します。


他の言語との比較とその異なる意味が好きです:-D
Matt

3

私の同僚の間では、「foo」という用語の意味(またはより正確には、使用法)は、名前の例を表すプレースホルダーとして機能することでした。例には、yourVariableNameyourObjectName、またはyourColumnNameが含まれますが、これらに限定されません。

今日、私は "foo"の使用を避け、いくつかの理由でこのタイプの名前付き置換の使用を好みます。

  • 私の以前の時代、私はもともと、混乱を招くために、任意の例でプレースメントとして「foo」を使用していることを発見しました。私は実用的な例を求めていました。
  • あなたの結果は変わるかもしれませんが、私は常に、100%、毎回、失敗することなく、「foo」が使用された実際の変数の意味について、さらにフォローアップの質問を受けました。

2

私の意見では、すべてのプログラマーには、プログラミング時に任意の単語が必要になるたびに使用される独自の「単語」があります。ある人にとってはそれは子供の歌の最初の言葉であり、他の人にとっては名前であり、他の人にとっては完全に異なる何かです。さて、プログラマーコミュニティにとっては、これらの「単語」もあり、これらの単語は「foo」と「bar」です。これを使用すると、プログラミングについて公に通信する必要がある場合は、恣意的な単語を使用する必要があると言う必要はなく、単に「foo」または「bar」と書くだけで、すべてのプログラマーはこれが単なる任意の単語であることを知っています。


2
「みんな」がこれを知っているのに、なぜ「foo」、「bar」、「foobar」の意味について多くの人が質問するのでしょうか。プラカーシュ氏が最初に尋ねる人物ではない。IMO foo、bar、およびfoobarは、a、b、c、tmp、X、Y、Z、var、およびfuncのように直感的ではないため、多くのpeが考えられます
Anders Sandvig

Hm ..それは私だけですか、それとも長いコメントのレンダリングが壊れていますか?とにかく、残りは「...多くの人が気を散らすと思う理由」だった。
Anders Sandvig

1
ええ、コメントの300文字の制限を超えました;)しかし、ありがとう!
prakash 2008

私はおそらく、開発者コミュニティに深く関わりすぎています;-)
khebbie

気が散っています。特に最初にpythonを解読しようとしたとき、私はそれらをよりも意味のあるものにした。多分関数、または構文の一部。** kwargsのようなものでも同じ問題がありましたが。そういうものを直感的に覚えようとする。書き留めるまで。「**がある限り、どのフレーズを使用してもかまいません」と誰かが言うまでは。少なくとも「クワーグ」は、それが何を意味するのかを理解するときに意味があります。「foo」のようなものは、紛らわしいほど「神秘的」です。彼らはインジョークのためにインジョークのように感じます。
OmikronWeapon
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.