% Function LIST, LIST*
Function LIST
, LIST*
list
&rest objects => list
list*
&rest objects+ => result
object - オブジェクト
list - リスト
result - オブジェクト
list
は、引数objectsを含むリストを返却します。
list*
はlist
と似ていますが、
list
の最後の引数は、最後のコンスのcar
になるのに対し、
list*
の最後の引数は、最後のコンスのcdr
になるのが違っています。
したがって、list*
の呼び出しは、
同じ数の引数のlist
の呼び出しより、
つねに1つ少ないコンスで生成されます。
もしlist*
の最後の要素がリストのときは、
list*
の先行した引数の要素が前の方に追加された、
新たなリストを構築する効果があります。
list*
がただひとつのobjectを受け取った場合、
それがリストかどうかに関わらず、そのobjectが返却されます。
(list 1) => (1)
(list* 1) => 1
(setq a 1) => 1
(list a 2) => (1 2)
'(a 2) => (A 2)
(list 'a 2) => (A 2)
(list* a 2) => (1 . 2)
(list) => NIL ;i.e., ()
(setq a '(1 2)) => (1 2)
(eq a (list* a)) => true
(list 3 4 'a (car '(b . c)) (+ 6 -2)) => (3 4 A B 4)
(list* 'a 'b 'c 'd) == (cons 'a (cons 'b (cons 'c 'd))) => (A B C . D)
(list* 'a 'b 'c '(d e f)) => (A B C D E F)
なし。
なし。
なし。
(list* x) == x