lisp 七个基础操作符 - xieyunzi/xieyunzi.github.io GitHub Wiki
lisp 有七个基础操作符, 可以通过七个基础操作符的组合完成复杂计算.
(quote x) => x
quote 操作符返回其参数本身, 不对其求值, 在 lisp 中通常简写为 'x
(atom x) => t | ()
在 lisp 中, 习惯以 t 表示真, 以空表 () 表示假. atom 操作符在 x 是一个原子或者空表时返回 t, 否则返回 ()
(eq x y) => t | ()
eq 操作符即相等操作符, 作用不言自明
(car x)
car 要求 x 是一个表, 它返回 x 的第一个元素
(cdr x)
cdr 同样要求 x 是一个表, 返回 x 中除了第一个元素以外的所有元素
(cons x y)
要求 y 是一个表. 返回一个表, 其第一个元素是 x, 后面的元素为 y 中的所有元素
(cond (p1 e1) (p2 e2) … (pn en))
cond 是条件表达式. cond 将 p1 到 pn 依次求值, 直到找到第一个值为 t 的 pi, 把对应的 ei 作为整个表达式的值返回.
七个操作符中,除了quote和cond, 其它操作符会对它的所有参数求值.