2013-04-01 43 views

回答

6

期間是cons運算符,而不是lisp意義上的符號。例如: -

(setq nums '(1 . 2)) 

這相當於:

(setq nums (cons 1 2)) 
+0

完美,謝謝。我來自沒有中綴操作員的Clojure,我認爲elisp是一樣的。很高興知道。 – mybuddymichael

+3

另請參閱'C-h i g(elisp)虛線對符號RET'。我認爲Clojure在這方面是一個例外 - 我的理解是,大多數lisp都認可這個符號。 – phils

+2

@mybuddymichael'.'不像中綴語法的語言那樣是一箇中綴運算符,例如,你不能寫'(foo.bar.baz)'。相反,'(form1。form2)'是創建conses的基本語法,類似於'(form1 form2 form3 ...)'是在clojure和elisp中創建列表的基本語法。不同的是,在elisp中,'(1 2 3)'是語法糖對於(1。(2。(3。nil)))。爲什麼clojure選擇忽略利弊創造的語法並不是很明顯。 – user4815162342