Next: リスト要素へのアクセス, Previous: リストとコンスセル, Up: リスト [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を真偽値だと考えるときはnot
(組み合わせ条件の構築のnot
を参照)、それ以外の場合にnull
を使用している。
(null '(1)) ⇒ nil
(null '()) ⇒ t