变量 foo 和 bar 的原点
不管是java,C++,还是PHP,每次都能看到 foo = bar 的例子,这两个单词很恶心,foo查不到字典,bar的解释又让人跟编程联系不上,更弄不清楚这个神秘的foo是个什么关系。
语意不清,学起来心里老是有疙疙瘩瘩的感觉,于是查吧,终于揭开了这两个东西的不正常关系,讲个各个处在闹心中的初学者们听吧。
参考了众多的网络资料,最后,明确的告诉大家,foo和bar就是外国人的张三、李四、王二麻子,只是一种随便的命名方式。跟c语言里面的i,j,k同出一辙。
就是说foo = bar 跟 变量张三 = 李四的侄子 一个意图,所以童鞋们就不要再找foo到底是个啥了。
问foo是啥就跟问张三是谁一样,我想外国人一定也很想知道,张三到底是谁,这个人怎么这么有名,总能看到这个名字,但是历史上记载却又找不到他。
----------------------------------------------------------------------------------------------
百度百科解释:
Foo:本意指程序员用来代表数据、功能或命令的变量。O'Reilly媒体认为FOO是Friends of O'Reilly的缩写,并把他们在2003年举办的年会命名为“2003 FOO”。现在则更多地指声势浩大的某行业大会。
foo = fuck oriented object
foo是"你要让它是什么就是什么"。FOO可以具有用户赋于的任何意义。
foo-------------潦草的意思!表示很随便的定义!
foo的意思是:Factory Of Objects
foo:一塌糊涂 或者 bar:一团糟
foo
不同的字典对其解释相去甚远,一说来自中国“福”字的发音,又有解释为二战时期的一种武器。然而若把众多的解释放在编程领域,关于 foobar的说法是我认为最为贴切的解释。foobar又为foo-bar,其中bar是beyond all recognition的缩写,通俗点就是无法识别,一塌糊涂的意思。而foo是fu的变体,fu是英语习语fuck-up的缩写,同样是一团糟的意思。于是,若你有些编程经验,我想你应该已经明白了为何如今许多编程实例所涉及的事物均被冠名为foo.
1. 介绍
至今约有212 个RFC, 或者约7%的RFC, 从[RFC269]开始,包括了术语'foo','bar' 或'foobar'作为伪变量而没有任何适当的解释或定义。这可能被认为是微不足道的,但一些新来者,特别是那些非英语国家的人,在理解这些术语时会遇到困难。本文纠正这一问题。
2. 定义和语源
bar /bar/ n. [JARGON]
1. 第二个伪变量,在foo 之后而在baz 之前。
"Suppose we have two functions: FOO and BAR. FOO calls BAR...."
2. 经常加在foo 后面构成foobar。
foo /foo/
1. interj. 令人反感的术语。
2. 用于任何东西的一般的名称,特别是程序和文件(特别是草稿文件)。
3. 用于语法例释的标准伪变量表中的第一个(bar, baz, qux, quux, corge,grault, garply, waldo, fred, plugh, xyzzy, thud). [JARGON]
当连接'bar' 时通常可以追溯到二战时军中的俚语FUBAR (`[censored] Up Beyond All Repair'),最后演变成了foobar。早期版本的Jargon File [JARGON]称这一变化是战后的修正,但现在看来更像是FUBAR 本身是'foo'的衍生词。可能是受到了德语'furchtbar'(可怕的) 的影响 -- 也许最初形式是'foobar'。
推荐阅读
-
在JSP中使用JavaScript获取Java变量的值和对象的方法
-
多元回归分析:理解相关关系并预测结果 - 一、多元回归分析旨在研究自变量X与因变量Y之间的关联,以揭示Y形成的机制,并利用X进行预测。共有五种常见的回归分析方法,包括线性回归、0‐1回归(逻辑回归)、定序回归、计数回归和生存回归,它们的划分依据是因变量Y的不同类型。因变量还可分为连续数值型变量等多种类别。
-
使用R语言实现工具变量和两阶段最小二乘法的数据生成方法
-
简单易懂!让你轻松掌握JMeter的安装和环境变量设置教程
-
MySQL存储:理解变量、函数、游标、判断和循环中的IN、OUT和INOUT参数使用
-
全面解析MySQL存储过程:变量、游标、存储函数、循环和判断语句,以及参数传递的方法
-
机器学习:深入理解矩阵和向量的求导——第二部分:矩阵与单变量求导
-
快速理解Java中的方法、常量、变量和参数
-
全面指南:CAD系统中的所有变量和参数
-
在 Rust 语言里,常量 const 和不可变变量 immutable 的差别是什么?