编程中常见的Foo,是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程中常见的Foo,是啥意思相关的知识,希望对你有一定的参考价值。
简单来说,foo就是习惯性用来做示例的类名或者函数方法名,指代一个没有特定意义的实体。就像我们想拿人举例子,总要先起个名字,然后就喜欢用什么:张三,李四之类的。
真说意义呢?一般foo就是乱七八糟的意思,你随便写一个不成熟的或者不在框架内的小类,方法,函数等,就可以用这个名,你也可以用abc这些词代替,但是大家习惯这样,你最好也这样,大家都好理解。
反之,如果你要写一个有特定意义或者功能的类,方法,函数时,使用的名称最好跟他实现的功能有关联,这样程序比较易读。 参考技术A 我个人比较讨厌在技术文章中看到foo,明明可以具象成Person、Teacher、Student之类的非要用Foo,这就好比以前写C语言的人,习惯用单词的简写给成员名称,什么std、ctr、ptr什么的,是不好的编程习惯,对初学者理解也不太友好 参考技术B “foo” 和“foobar”等单词经常会作为示例名称,出现在各种程序和技术文档中。
据统计,在各种计算机和通信技术文档中,大约有百分之七的文档出现了这些词 语。
可是这些文件都没有为它们给出合适的解释。
虽然这不是个大问题,但对于初学者,尤其是母语非英语的人来说,这些单词往往会带来不小的迷惑。
虽然正式文件中对于“foo”的语源没有详细的记载,但我们仍可以从它的发展历史中,捋清一些脉络。
“foo” 一词最早出现在一些二战前的漫画和卡通作品中。
在关于消防队员的漫画“Smokey Stover”中,作者Bill Holman大量的使用了“foo”一词。这部漫画连载于1930至1952年,在其中,“foo”这个词经常出现在汽车车牌上和一些没有意义的对话中,
例如:“He who foos last foos best”或 “Many smoke but foo men chew”等。
“foo”是根据某种中国的小雕像底部的文字得来的。
这听起来很有道理,因为中国的雕像往往都会刻上祝福的文字,而 “foo”可能是“福”的音译。不过英文文法能接纳Holman的“foo”这个编造的单词,也是受了犹太语中“feh”和英文中“fooey”及 “fool”的影响。
“:foo”在红宝石中是啥意思[重复]
【中文标题】“:foo”在红宝石中是啥意思[重复]【英文标题】:what does ":foo" mean in ruby [duplicate]“:foo”在红宝石中是什么意思[重复] 【发布时间】:2012-08-27 04:20:43 【问题描述】:可能重复:What is the colon operator in Ruby?
在学习 Ruby 时,我偶尔会遇到“:”运算符。通常我看到它的形式是
:symbol => value
这是什么意思?
【问题讨论】:
***.com/questions/6337897/… 可能重复 【参考方案1】:它只是表明它是一个符号而不是一个字符串。在 ruby 中,通常使用符号而不是字符串。
:foo => value
'foo' => value
它基本上是一种表达字符串的简写方式。它不能像您想象的那样包含空格,因此符号通常使用下划线。
你自己试试这个:
foo = :bar
foo.to_s # means to string
baz = 'goo'
baz.to_sym # means to symbol
【讨论】:
实际上,关于符号不能包含空格的说法是错误的;符号可以包含字符串可以包含的任何内容。:"hello world"
包含一个空格,但它是一个完全有效的符号。字符串和符号之间的区别在于,每次引用同一个符号时,符号总是在内存中占据相同的位置。这很好,因为如果您以正确的方式使用它可以节省内存;这很糟糕,因为如果你不这样做,它会消耗内存。请参阅:Symbol。
将符号归结为“基本上是表达字符串的简写方式”是非常错误和误导的。符号不是字符串。
@AndrewMarshall 我不认为符号应该被用作字符串;这是使用符号的糟糕方式之一,而且很糟糕,尤其是对于 Web 开发而言。对不起,如果它是那样的。
@drderp:我认为 Andrew Marshall 指的是上面的答案,而不是您的评论。你的评论是正确的。答案是完全错误的。很遗憾它被接受了。
@undur_gongor 我应该发表我的评论作为另一个答案:/以上是关于编程中常见的Foo,是啥意思的主要内容,如果未能解决你的问题,请参考以下文章