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