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をリストだと考えるときはnull、真偽値だと考えるときはnotを使用すること(組み合わせ条件の構築のnotを参照)。
(null '(1))
⇒ nil
(null '())
⇒ t