% Function ENDP
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
の目的とも一致しています。