Erlang中的cons operator |

Erlang中的cons operator |

  最近看書的時候發現操作符” | “有個稱呼:cons operator
  十分好奇這個操作符到底應該叫什麼,然後就百度——什麼都沒有······ 再谷歌,搜到不少資料,不過都是Lisp裏面的;還都是介紹性質,通過一些例子來說明用法,並沒有明確的定義。蛋疼,不得已要花力氣自己弄清了。
  
Erlang中出現了cons這個詞,費勁查了半天發現起源於Lisp(List Processor),沒有明確定義,只有一些便於理解的例子。
後來查詞典、查資料,根據它的來源、用法、本質進行一些分析:

  • 來源: Lisp 用來連接兩個元素形成列表 參考
  • 用法: (cons ‘a ‘b)    =>(a . b)
  • 本質: 一個雙向指針,分別指向待連接的兩個元素 參考

  在詞典中查找有相關意思的帶有cons的單詞,發現有個consist(由 … 組成;構成;在於;符合),其中組成、構成剛好符合,因此臆定就是這個詞縮寫而來,其意思是按照用法定義,應定義爲:構造。
而上面這些說是“構造”列表十分恰當,在Erlang中操作符” | “應爲構造操作符,是構造器的重要組成。

  consconsist 的縮寫,意思是:構造。用在列表處,連接兩個元素構成新的列表。

注:以上是個人查閱資料後給出的合理解釋,不一定是正確解釋,如果有人知道正確定義,請看到後務必指正,謝謝!

  轉載請註明出處


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章