Common Lisp 特殊操作

1.'操作符,quote的语法糖, 被'修饰的表达式不会被求值,将会被原样保留. 例:

(list 1 2 '(+ 1 2)) => (1 2 (+ 1 2))

2.` 返回一个list, 但是要原封不动的返回,即使list里面的list也不会被求值.

`(1 2 (+ 1 2)) => (1 2 (+ 1 2))
`(and 1 2) => (AND 1 2)
3.在`符号里面使用,用于将部分子list求值.
`(1 2 ,(list 1 2)) => (1 2 (1 2))

4. ,@ 和,类似,生成的list将嵌入原来的列表,

`(1 2 ,@(list 1 2)) => (1 2 1 2)

 5.

  `',(foo) ==> `(queto ,(foo))

 

 

posted @ 2014-03-03 20:48  一零  阅读(232)  评论(0编辑  收藏  举报