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