Foobar

程式設計中的佔位字串
(重定向自Foo

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). 

外部连接

编辑