% Function BUTLAST, NBUTLAST
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
lst => (1 2 3 4 5 6 7 8 9)
(nbutlast lst 3) => (1 2 3 4 5 6)
lst => (1 2 3 4 5 6)
(nbutlast lst 99) => NIL
lst => (1 2 3 4 5 6)
(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)
foo => (A B C)
(nbutlast (list 'a)) => NIL
(nbutlast '()) => NIL
なし。
listが通常のリストではないか、
ドットリストではないとき、
型type-error
のエラーが生じます。
nが非負の整数ではないとき、
型type-error
のエラーが生じます。
なし。
(butlast list n) == (ldiff list (last list n))