在學習編程語言的過程當中,尤爲使用的是英文的書籍,咱們常常發現一些foo、bar、baz之類的名字,要麼是變量的名字,要麼是文件的名字。。。深究起來徹底不明因此。這究竟是什麼意思呢?編程
下面是《C++17 STL Cookbook》這本書的一些用例:編程語言
//foo用作類名 class foo { public: static std::string &standard_string() { static std::string s{"some standard string"}; return s; } };
還有:ide
//用做文件名 path p {"testdir/foobar.txt"};
一樣其餘語言裏也有這種狀況,《The Go Programming Language》這本書使用了大量此類名字:函數
f, err = os.Open("foo.txt") // 用做文件名
//用作字符串 fmt.Println(Equal([]string{"foo"}, []string{"bar"}))
那這些單詞傳達給咱們的意思是什麼呢?實際上這些東西跟咱們中文裏的張3、李4、王五這類詞屬於一類,表示當前命名「可有可無」,不影響當前概念的表達。學習
維基百科裏有比較專業的解釋:spa
The termsfoobar
(/ˈfuːbɑːr/), orfoo
and others are used as placeholder names (also referred to as metasyntactic variables) in computer programming or computer-related documentation.[1] They have been used to name entities such as variables, functions, and commands whose exact identity is unimportant and serve only to demonstrate a concept.
直譯過來就是:code
foobar
或者foo
等諸如此類的措辭在計算機編程或計算機相關文檔中被用做佔位符名字(也稱爲元語法變量)。它們一般被用來命名一些變量、函數或命令等此類實體,而這些實體一般不重要,並且僅僅用來演示一個概念。
請關注個人公衆號哦。
ip