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)
(2) => (A 2)
'(a 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 (