什么是.(期间)elisp中的符号引用?

myb*_*ael 4 emacs elisp

正如它在锡上所说的那样.,elisp 中的(句号)符号引用了什么?我在Emacs文档中找不到变量引用,谷歌(不出所料)无益.

ata*_*lor 6

期间是cons操作员而不是lisp意义上的符号.例如:

(setq nums '(1 . 2))
Run Code Online (Sandbox Code Playgroud)

这相当于:

(setq nums (cons 1 2))
Run Code Online (Sandbox Code Playgroud)

  • 另请参阅`Ch ig(elisp)虚线对符号RET`.我认为Clojure在这方面是个例外 - 我的理解是大多数lisps都认识到这种符号. (3认同)
  • @mybuddymichael` .`不是像中缀语法那样的中缀运算符 - 例如,你不能写`(foo.bar.baz)`.相反,`(form1.form2)`是创建conses的基本语法,类似于`(form1 form2 form3 ...)`是用于在clojure和elisp中创建列表的基本语法.不同的是,在elisp中,`(1 2 3)`是`(1.(2.(3.nil)))`的语法糖.为什么clojure选择省略cons创建的语法并不是很明显. (2认同)