Next: List Elements, Previous: Cons Cells, Up: Lists [Contents][Index]
以下の述語はあるLispオブジェクトがアトムか、コンスセルか、リストなのか、またはオブジェクトがnil
かどうかテストします(これらの述語の多くは他の述語で定義することもできるが、多用されるので個別に定義する価値がある)。
この関数はobjectがコンスセルならt
、それ以外はnil
をリターンする。たとえnil
がリストであっても、コンスセルではない。
この関数はobjectがアトムならt
、それ以外はnil
をリターンする。シンボルnil
はアトムであり、かつリストでもある。そのようなLispオブジェクトはnil
だけである。
(atom object) ≡ (not (consp object))
この関数はobjectがコンスセルかnil
ならt
、それ以外はnil
をリターンする。
(listp '(1)) ⇒ t
(listp '()) ⇒ t
この関数はlistp
の反対である。objectがリストでなければt
、それ以外はnil
をリターンする。
(listp object) ≡ (not (nlistp object))
この関数はobjectがnil
ならt
、それ以外はnil
をリターンする。この関数はnot
と等価だが、明解にするためにobjectをリストだと考えるときはnull
、真偽値だと考えるときはnot
を使用すること(Combining Conditionsのnot
を参照)。
(null '(1)) ⇒ nil
(null '()) ⇒ t