Function BUTLAST
, NBUTLAST
butlast
list &optional n => result-list
nbutlast
list &optional n => result-list
list - リスト。ドットリストは受け付けますが、循環リストは受け付けません。
n - 非負の整数
result-list - リスト
butlast
は、最後のn個のコンスを無視したlistのコピーを返却します。 nが省略されたときの値は1
です。 もしlist内にn個もコンスがなかったときは、 nil
が返却され、 nbutlast
のときはlistは修正されません。
nbutlast
は、butlast
と似てますが、 nbutlast
はlistを修正するかもしれません。 それは、listの終わりからn+1個のコンスの cdr
をnil
に修正します。
setq lst '(1 2 3 4 5 6 7 8 9)) => (1 2 3 4 5 6 7 8 9)
(butlast lst) => (1 2 3 4 5 6 7 8)
(butlast lst 5) => (1 2 3 4)
(butlast lst (+ 5 5)) => NIL
(=> (1 2 3 4 5 6 7 8 9)
lst nbutlast lst 3) => (1 2 3 4 5 6)
(=> (1 2 3 4 5 6)
lst nbutlast lst 99) => NIL
(=> (1 2 3 4 5 6)
lst butlast '(a b c d)) => (A B C)
(butlast '((a b) (c d))) => ((A B))
(butlast '(a)) => NIL
(butlast nil) => NIL
(setq foo (list 'a 'b 'c 'd)) => (A B C D)
(nbutlast foo) => (A B C)
(=> (A B C)
foo nbutlast (list 'a)) => NIL
(nbutlast '()) => NIL (
なし。
listが通常のリストではないか、 ドットリストではないとき、 型type-error
のエラーが生じます。 nが非負の整数ではないとき、 型type-error
のエラーが生じます。
なし。
butlast list n) == (ldiff list (last list n)) (