2 回答

TA貢獻1799條經驗 獲得超8個贊
“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”可能是“?!钡囊糇g。不過英文文法能接納Holman的“foo”這個編造的單詞,也是受了猶太語中“feh”和英文中“fooey”及 “fool”的影響。

TA貢獻1936條經驗 獲得超7個贊
就像經濟學家有時候使用術語“widget”來最終作為對正在被測量的“something”的替代。程序員傾向于使用術語“foo”(FOO的發音)作為在討論想法或者是提出例子時一些確實存在的東西的普遍替代語。假如你在創建一個新的用戶命令時,為任何一組程序員定義一個都要遵循的模板,你可能會以下面的格式為該命令描述語法:
Command foo (arg1, arg2)
其中“foo”可能意味著“你給這條命令起的名字”。換句話說,“foo”對于一些值是沒有意義的標志符,這些值在使用該模板來定義一個真正的命令時會被提出來。(“arg1”和“arg2”是你在定義命令時將定義的參數或信息)。因為“foo”沒有它自己合理的意義,并且“foo”傳統上是作為標志符使用,任何程序員都會清楚的知道這一點。
Foo或者是任何以這種方式使用的詞正式名稱是偽變量。Eric Raymond,可能是世界上關于foo和其它偽變量的最權威的人士,也列出了qux,waldo,fred,xyzzy以及其它一些偶爾用的詞。雖然foo是標準的偽變量,Raymond注意到在美國之外的文化有他們自己的喜好。在英國經??梢钥吹紽red,barney以及wombat。法國據聞使用Toto, tata, titi, and tutu。新西蘭使用Blarg and wibble。
Foo的起源隨著時間的流逝看起來已經迷亂了,但是Raymond觀察到(我們也記得)在1930-1950的Bill Holman喜劇時期,“FOO”的字母經常出現在Smokey Stover漫畫上,沒有解釋,只是作為一種塞口物,出現在號牌上,畫框中以及三明治板的標志后面.
- 2 回答
- 0 關注
- 411 瀏覽
添加回答
舉報