Erlang中的cons operator |

Erlang中的cons operator |

  最近看书的时候发现操作符” | “有个称呼:cons operator
  十分好奇这个操作符到底应该叫什么,然后就百度——什么都没有······ 再谷歌,搜到不少资料,不过都是Lisp里面的;还都是介绍性质,通过一些例子来说明用法,并没有明确的定义。蛋疼,不得已要花力气自己弄清了。
  
Erlang中出现了cons这个词,费劲查了半天发现起源于Lisp(List Processor),没有明确定义,只有一些便于理解的例子。
后来查词典、查资料,根据它的来源、用法、本质进行一些分析:

  • 来源: Lisp 用来连接两个元素形成列表 参考
  • 用法: (cons ‘a ‘b)    =>(a . b)
  • 本质: 一个双向指针,分别指向待连接的两个元素 参考

  在词典中查找有相关意思的带有cons的单词,发现有个consist(由 … 组成;构成;在于;符合),其中组成、构成刚好符合,因此臆定就是这个词缩写而来,其意思是按照用法定义,应定义为:构造。
而上面这些说是“构造”列表十分恰当,在Erlang中操作符” | “应为构造操作符,是构造器的重要组成。

  consconsist 的缩写,意思是:构造。用在列表处,连接两个元素构成新的列表。

注:以上是个人查阅资料后给出的合理解释,不一定是正确解释,如果有人知道正确定义,请看到后务必指正,谢谢!

  转载请注明出处


原文地址:https://www.cnblogs.com/qingchuwudi/p/12077741.html