foo是什么意思

原文发于:http://qing.weibo.com/2059598087/7ac2f907330027we.html


学习python的过程中,总会看到编程示例中将函数名定义为foo,颇为好奇,遂在网上搜索了一下,觉得以下两个答案比较靠谱:

解释一:

(下段文字摘自这里,原文中还有更详尽的解释​)

不管是java,C++,还是PHP,每次都能看到 foo = bar 的例子,这两个单词很恶心,foo查不到字典,bar的解释又让人跟编程联系不上,更弄不清楚这个神秘的foo是个什么关系。

语意不清,学起来心里老是有疙疙瘩瘩的感觉,于是查吧,终于揭开了这两个东西的不正常关系,讲个各个处在闹心中的初学者们听吧。

参考了众多的网络资料,最后,明确的告诉大家,foo和bar就是外国人的张三、李四、王二麻子,只是一种随便的命名方式。跟c语言里面的i,j,k同出一辙。

就是说foo = bar 跟 变量张三 = 李四的侄子 一个意图,所以童鞋们就不要再找foo到底是个啥了。

问foo是啥就跟问张三是谁一样,我想外国人一定也很想知道,张三到底是谁,这个人怎么这么有名,总能看到这个名字,但是历史上记载却又找不到他。

为了这个可恶的foo,居然还动用RFC给foo下了一个明确的词源追踪,无聊的童鞋可以看RFC3092解解闷。

中文RFC3092地址http://www.computersci.net/articles/rfc/RFC3092.txt

解释二:

“英文单词foo,不同的字典对其解释相去甚远,一说来自中国“福”字的发音,又有解释为二战时期的一种武器。然而若把众多的解释放在编程领域,关于foobar的说法是我认为最为贴切的解释。foobar又为foo-bar,其中bar是beyond  all  recognition的缩写,通俗点就是无法识别,一塌糊涂的意思。而foo是fu的变体,fu是英语习语fuck-up的缩写,同样是一团糟的意思。于是,若你有些编程经验,我想你应该已经明白了为何如今许多编程实例所涉及的事物均被冠名为foo。”  

----摘自:编程黑马真言,王轶男。

你可能感兴趣的:(Code轶事)