予約語 |
使用法 |
説明 |
consp |
consp object |
object がコンスセルの場合 t を返し、そうでない場合 nil を返す。 |
atom |
atom object |
object がアトムの場合 t を返し、
そうでない場合 nil を返す。コンスセル以外のものは全てアトム。 |
listp |
listp object |
object がコンスセルか nil の場合 t を返し、そうでない場合 nil を返す。 |
nlistp |
nlistp object |
nlist の反対。これは object がリストでない場合 t を返し、
そうでない場合 nil を返す。 |
null |
null object |
object が nil の場合 t を返し、そうでない場合 nil を返す。
この関数は not と同じだが、慣例として object がリストを示す場合 null を用い、
真理値を示す場合 not を用いる。 |
cons |
cons object1 object2 |
新しくリストを作る際に用いる関数。
これは object1 を car、object2 を cdr として、
コンスセルを作り、この新しいコンスセルへのポインタを返す。 |
list |
list &rest objects |
objects を要素とするリストを作る。
結果として返されるリストは nil でターミネートされている。
objects が与えられない場合、empty リストを返す。 |
make-list |
make-list integer object |
各要素が object である長さ integer のリストを作る。 |
append |
append &rest sequences |
sequences の全ての要素を含むリストを返す。
最後の 1 つを除いたアーギュメントは全てコピーされ、
変更されることはない。 |
car |
car list |
コンスセル list の最初のポインタを返す。
アーギュメントがリストでない場合、エラーになる。 |
cdr |
cdr list |
コンスセル list の 2 番目のポインタを返す。
アーギュメントがリストでない場合、エラーになる。 |
car-safe |
car-safe object |
どのような型のアーギュメントに対しても呼ぶことができるようになっている。 |
cdr-safe |
cdr-safe object |
どのような型のアーギュメントに対しても呼ぶことができるようになっている。 |
nth |
nth integer list |
list の integer 番目の要素を返す。 |
nthcdr |
nthcdr integer list |
list の integer 番目の cdr を返す。 |
setcar |
setcar cons object |
コンスセルの car ポインタをオブジェクトで置き換える。
結果は object 。 |
setcdr |
setcdr cons object |
コンスセルの cdr ポインタをオブジェクトで置き換える。
結果は object 。 |
nconc |
nconc &rest lists |
lists の要素を含むリストを返す。
append とは異なり、 lists はコピーせず、
lists の各々の要素の(最後の) cdr ポインタが次のリストを指すよう変更する。 |
reverse |
reverse list |
list の要素を逆順に持つリストを新しく作る。list は変更しない。 |
nreverse |
nreverse list |
list の要素を逆順にして返す。
reverse とは異なり、 list の cdr ポインタを大きく変更する。
結果は list の最後のコンスセルへのポインタで、
一般に list はそれ自身の nreverse とは同じではない。 |
sort |
sort list predicate |
preficate を用いて要素を比較し、cdr ポインタを変えて list をソートし、
ソートされたリストを返す。
predicate は 2つのアーギュメントを持つ関数でなくてはいけない。
これは list 中の 2つの要素を引数として sort 関数内部で呼ばれる。
小さい順にソートするためには、 predicate が、
最初の要素が 2 番目の要素 "より小さい" 場合 t を、
そうでない場合 nil を返すようにする。 |
memq |
memq object list |
object が list の要素であるか否かを調べる。
要素である場合、 memq は object が最初に現われた場所を頭にして
リストの後ろの部分を返す。要素でない場合 nil を返す。 |
delq |
delq object list |
list から object に eq な全ての要素を削除する。
object がリストの最初の要素である場合を除いて list を変更する。 |
sequencep |
sequencep object |
object がリストか、ベクトルか、ストリングの場合 t、それ以外の場合 nil を返す。 |
copy-sequence |
copy-sequence sequence |
sequence のコピーを返す。このコピーに対する変更は、オリジナルには影響を
及ぼさない。しかし、これは sequence のトップレベルのみをコピーし、
それより深いレベルはコピーしない。つまり、 sequence の要素と、コピーの対応する
要素は、互いに eq になる。 |
length |
length sequence |
sequence 中の要素の数を返す。sequence がリストの場合そのリストが nil
で終っていない場合、 wrong-type-argument エラーになる。 |
elt |
elt sequence integer |
integer を添字とする sequence の要素を返す。
この関数は、 aref や nth と機能的には同じだが、どんな種類のシーケンス
に対しても機能する。シーケンス中の最初の要素の添字は 0 。 |
assoc |
assoc key alist |
alist において key に対応する最初のコンスセルを返す。alist に、その car が
key と equal であるコンスセルが存在しない場合、nil を返す。 |
assq |
assq key alist |
alist において key に対応する最初のコンスセルを返す。alist に、その car が
key と eq であるコンスセルが存在しない場合、nil を返す。
eq は equal より速く、ほとんどの alist はシンボルをキーとして用いるため、
assoc より頻繁に用いられる。 |
rassq |
rassq alist value |
alist のコンスセルの car のかわりに cdr を調べる点を除いて assq と同じ。
この関数は alist 中の value に対する最初のコンスセルを返す。
alist 中に value に eq な cdr が存在しない場合 nil を返す。 |
copy-alist |
copy-alist alist |
alist の深さ 2 レベルのコピーを返します。各 pair のコピーを作り、
前のものを変更することなく、新しい alist における対応関係を変更できるようにする。 |
|
|
|
予約語 |
使用法 |
説明 |
eq |
eq object1 object2 |
2 つのオブジェクトが同じオブジェクトである場合 t を返し、
そうでない場合 nil を返す。 |
equal |
equal object1 object2 |
2 つのオブジェクトが構造的に同じものである場合 t を返し、
そうでない場合 nil を返す。
eq なオブジェクトはまた equal でもある。 |
= |
= m-integer1 m-integer2 |
アーギュメントが同じ数値であるか否かを調べ、同じ数値である場合 t を返し、
そうでない場合 nil を返す。 |
/= |
/= m-integer1 m-integer2 |
アーギュメントが同じ数値でないか否かを調べ、同じ数値でない場合 t を返し、
同じ数値である場合 nil を返す。 |
< |
< m-integer1 m-integer2 |
最初のアーギュメントが 2番目のアーギュメントより厳密に小さいか否かを調べる。
小さい場合 t を返し、そうでない場合 nil を返す。 |
<= |
<= m-integer1 m-integer2 |
最初のアーギュメントが 2番目のアーギュメントより小さいか等しいかを調べる。
小さいか等しい場合 t を返し、そうでない場合 nil を返す。 |
> |
> m-integer1 m-integer2 |
最初のアーギュメントが 2番目のアーギュメントより厳密に大きいか否かを調べる。
大きい場合 t を返し、そうでない場合 nil を返す。 |
>= |
>= m-integer1 m-integer2 |
最初のアーギュメントが 2番目のアーギュメントより大きいか等しいかを調べる。
大きいか等しい場合 t を返し、そうでない場合 nil を返す。 |
max |
max m-integer &rest m-integers |
アーギュメントの最大値を返す。 |
min |
min m-integer &rest m-integers |
アーギュメントの最小値を返す。 |
予約語 |
使用法 |
説明 |
not |
not object |
object が nil の場合 t を返す。
それ以外の値の場合 nil を返す。 |
and |
and forms* |
1つ以上のアーギュメントを受け取り、それらを 1度に 1つずつ評価する。
それらが(全て) non-nil の値に評価された場合、最後のフォームの値を返す。
あるアーギュメントが nil に評価された場合
残りのアーギュメントを評価せずに nil を返す。 |
or |
or forms* |
1つ以上のアーギュメントを受け取り、それらを 1度に 1つずつ評価する。
それらが全て nil に評価された場合、or は nil を返す。
あるアーギュメントが non-nil の値に評価された場合
残りのアーギュメントを評価せずにその値を返す。 |
1+ |
1+ m-integer |
アーギュメントに 1 を足す。 |
1- |
1- m-integer |
アーギュメントから 1 を引く。 |
+ |
+ &rest m-integers |
アーギュメントを足し合わせる。
アーギュメントが与えられない場合は 0 を返す。
オーバーフローのチェックは行わない。 |
- |
- &optional integer &rest other-integers |
アーギュメントが 1 つの場合、アーギュメントの符号を反転したものを返す。
アーギュメントが複数の場合、 other-integers の全てを integer から引く。
アーギュメトがない場合、結果は 0 になる。 |
* |
* &rest integers |
アーギュメントを掛け合わせる。
アーギュメントがない場合、1を返す。
オーバーフローのチェックは行わない。 |
/ |
/ integer1 integer2 &rest other-integers |
integer1 を integer2 で割る。アーギュメントがそれ以上存在する場合、
それらで結果を次々に割っていく。
割り算の結果は毎回切り捨てる。 |
% |
% integer1 integer2 |
integer1 を integer2 で割った余りを返す。
結果の符号は integer1 の符号になる。 integer2 の符号は無視する。 |
|
|
|