“ foo”是什么意思?[关闭]


19

我来这里已有大约4个月,有几次我看到人们在用,foo但我不知道这是什么意思。我希望其他人向我解释这个变量...

它为什么如此重要?如何使用?什么时候使用?我该如何使用?

我在Wikipedia上阅读了有关Metasyntactic变量的信息,但我不明白它的含义。


6
我认为您不能做得比“占位符名称或通常用来表示任意事物或所讨论事物类别的任意成员的别名”更好。就像“这个”或“那个”。
David Schwartz

这种问题可能属于Stackoverflow。此外,它与Linux无关,也与其他任何操作系统无关。
Mark Allen

8
您没有用谷歌搜索您的确切问题吗?第二个结果正是您的答案。
enderland

2
@ poz2k4444:我得到了第一部分,如果对更大的社区没有用,那么在本网站上提出这些问题将没有任何意义。但是,我很难理解有关FAQ的主题。foo是一个严格由程序员和代码使用的术语,从用户角度讲,它从未与计算机软件和硬件相关。
TFM

2
这个问题有很多重复的地方,这里确实没有主题。请参阅:“ foo”是什么意思?'foo'到底是什么意思?什么是foo?foo是什么意思?在源代码示例中使用“ foo”和“ bar”的历史是什么?Foobar-Wikipedia-很抱歉,通过将其迁移到其他位置来重复这一时间没有多大意义。
slhck

Answers:


26

RFC 3092:“ Foo”的词源这以一种抽出方式显示了Foo最初是如何与bar配对以创建foobar(又称Fubar)的。这些术语最适合用于伪或伪编码。在示例中它们也很有用,以使每个人都可以很容易地遵循变量。这也是Wikipedia 链接


1
Google是您的朋友
Ryan M

我试图用Google搜索它,但是我没有怎么做... RFC +1
poz2k4444

1
一切都很好,幸运的是,这个站点上的人们似乎比其他一些堆叠站点更加轻松。
Ryan M

1
是的!如果您解释更多您的答案,我会选择您的RFC参考...
poz2k4444

我刚刚编辑了它,所以我们来看看我的剪辑是否成功!(手指交叉!)
Ryan M

7

当有人想给出一个代码示例时,foo通常用作说“在这里使用变量/函数/类的实际名称”的一种方式。


7

从链接的维基百科文章中:

“元句法变量”与“无意义的词”同义

当您需要命名变量或函数时,这只是个废话,但实际名称并不重要。真正仅用于代码片段的演示。切勿在真实代码中使用它。


选择的名称几乎总是与实际用法相关。foo通常表示“必须在此处选择一个名称,这可能很重要,在同一示例中出现foo的其他地方,您必须使用相同的名称。”
卡兹(Kaz)

4

简而言之,“ foo”和“ bar”只是您所拥有信息(例如用户名,密码,变量等)的占位符。


4

它的计算机相当于一只叫“ Spot”的狗,一只叫“ Puss”的猫,一个叫“约翰·史密斯”的人(实际上并没有冒犯很多人),甚至是一条叫“万达”的鱼。 。

当你想在“电脑术语”用一个通用的名字,你会经常使用的一个foobarbazfoo通常使用表示名称不重要且可以更改的变量/函数/名称。因此,如果我使用foo变量名称作为SU回答问题,您将知道可以自由更改foo为其他任何感觉。

像通常认为的那样,它不是 Fie混淆嗜酒者的缩写。


3

元语法变量是其值被理解为语法片段的变量(可能是其他变量的名称,它们是语法)。它们出现在对语法进行运算的公式中,元语法也是如此。

例如,考虑S V O(主题动词对象),该表达式指示某种人类语言的基本单词顺序。这三个字母是元语法变量。每个代表一种语法。句子主题可以是复杂的名词短语,依此类推。而且,这些字母的选择在语言问题领域中很重要:S代表主题,依此类推。

foo并且bar可以在某种意义上被认为是元语法的,因为它们充当了用户要发明的实名的占位符。这些特殊名称在计算机文档中编写代码示例的问题领域中是有意义的,就像老朋友一样,在这里可以立即识别它们。因此,自相矛盾的是,foo表达了“我以毫无意义而闻名。无论你在哪里看到我,都用一个具有意义的东西代替我!”,这就是它的意思。

还应理解,在出现foobar出现两者的位置,用户必须替换不同的符号,并且在foo同一示例中出现多次的位置,所有出现的位置必须始终用相同的标识符替换。

foo并且bar只要它们不与计算机语言中的任何内容发生冲突(例如内置命令,关键字或重要的库函数或变量的名称)就可以有效。如果发生这种情况,语法和元语法级别将变得混乱。如果您正在设计一种新的语言,那么您应该避免引入该语言foo并将其bar作为该语言的重要标识符。

foo和bar这两个词具有词源,但是该词源与它们在计算文档中的含义无关。


很好用简单的英语解释。:) +1
John Siu

2

实际上,它实际上只是用于示例,而不是您要使用的变量...但是如果您想了解更多...,在这里..:

FOO

  Forward Observation Observer.

  FOO Of Oberlin.  An organization whose name is a recursive
  acronym.  Motto: The FOO, the Proud, the FOO.  See
  <http://cs.oberlin.edu/students/jmankoff/FOO/home.html>.

  File Open for Output.

..很酷的问题..对于进入整个信息世界的人们来说,这是非常重要的,以它无处不在的例子为例,如果您一无所知,您可能会陷入一个错误,直到您明白了这一点。foo是一个例子...

您有不同的选择...但这是历史的起源!...

这是RFC!所以看看吧。对此非常有用。

也有相应的解释bar(通常可以追溯到第二次世界大战时代的陆军语首字母缩写FUBAR ...)

快速的Google搜索可能会解决一个快速的问题,请查看以下 Wikipedia文章:

..这些术语的起源尚不确定,因此已经提出了一些轶事理论来识别它们。印刷版中这些术语的第一个已知用法出现在1965年的MIT的“技术工程新闻”中。Foobar可能源自军事首字母缩略词FUBAR并获得流行,因为它的发音相同。

这很有趣,您可以使用其中的一些信息重新发布。

希望能帮助到你!


1

当名称本身并不重要时,Foo是用于任何种类的变量的变量名称。如果您还记得数学单词问题,它们就会走:史密斯先生有10美元,琼斯先生有20美元,如果琼斯先生给史密斯先生5美元,史密斯先生有多少?史密斯和琼斯,只是名字。Foo与此类似,它只是变量的名称,因为您需要一个有意义的示例名称。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.