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, 其它操作符会对它的所有参数求值.