Function ENDP
endp
list => generalized-boolean
list - リスト、ドットリストと循環リストも受け付けます。
generalized-boolean - generalized-boolean
listが空のリストならtrueを返却します。 listがコンスならfalseを返却します。
endp nil) => true
(endp '(1 2)) => false
(endp (cddr '(1 2))) => true (
なし。
なし。
listがリストでなかったときは、 型type-error
のエラーが発生します。
なし。
endp
の目的は、 通常のリストの終わりを確認することです。 endp
はコンス内に降りて行かないので、 ドットリストを与えてもうまく動作します。 しかしもし短いリストに対して反復的にcdr
を呼び続けられ、 それらのリストがendp
によってテストされ続けたとき、 このような状況において、 最終的にnil
ではないアトム(実際にリストではない)が endp
の引数になったときの結果は未定義です。 これはendp
が使われる普通の方法であり、 endp
を使用する際に引数の型が通常のリストであるか、 あるいはアトムであるかを強制せず、 単純な関数としてendp
を扱うということは、 保守的なプログラミングスタイルであり endp
の目的とも一致しています。