Foobar

程式設計中的佔位字串

foobar是電腦程式領域裏的術語,並無實際用途和參考意義。在電腦程式設計與電腦技術的相關文件中,術語foobar是一個常見的無名氏化名,常被作為「偽變數英語metasyntactic variable」使用。

歷史

編輯

從技術上講,「foobar」很可能在1960年代至1970年代初通過迪吉多的系統手冊傳播開來。另一種說法是,「foobar」可能來源於電子學中反轉的foo訊號( );這是因為如果一個數位訊號是低電平有效(即負壓或零電壓代表「1」),那麼在訊號標記上方一般會標有一根水平橫線,而橫線的英文即為「bar」。在《新駭客辭典》中,還提到「foo」可能早於「FUBAR」出現。[1]

在大約1930年至1952年之間,foo出現在比爾·霍爾曼英語Bill Holman (cartoonist)的漫畫《Smokey Stover英語Smokey Stover》中,比爾·霍爾曼說他之所以使用這個詞,是因為在舊金山唐人街的一個中國玉雕雕像的底部看到了這個詞,據稱它象徵著「好運」。[2]這可能與漢字「福」有關,「福」有時被翻譯為「'foo」。[3]

例子

編輯

單詞「foobar」或分離的「foo」與「bar」常出現於程式設計的案例中,如同Hello World程式一樣,它們常被用於向學習者介紹某種程式語言。

「foo」「bar」常被作為函式/方法的名稱或變數名。

下面是一段通過「foo」和「bar」來演示如何在JavaCC++中連接兩個字串的實常式序:

//Java code
String foo = "Hello, ";
String bar = "World";
System.out.println(foo + bar);
//Hello, World is printed to the screen by printing foo and bar
// C code

#include <stdio.h>

int main()
{
   char foo[] = "Hello,";
   char bar[] = "World!";
   printf("%s %s\n", foo, bar);

   return 0;
}
// C++ code

#include <iostream>
#include <string>
using namespace std;

int main()
{
   string foo = "Hello,";
   string bar = "World!";
   cout << foo << " " << bar << endl;

   return 0;
}
# Python code

foo = "Hello,"
bar = "World!"
print(foo + bar)

參見

編輯

參考文獻

編輯
  1. ^ 《新駭客辭典》頁面存檔備份,存於網際網路檔案館)(The Jargon File)
  2. ^ The History of Bill Holman. Smokey Stover. 2007-06-13 [2019-08-17]. (原始內容存檔於2019-08-30). 
  3. ^ What does foo mean?. Dictionary.com. [2019-08-17]. (原始內容存檔於2019-08-17). 

外部連接

編輯