instantiate class &optional size [関数]
-
-
classから新しいオブジェクトを作る低レベル命令である。
もしclassがvector-classならば、sizeがなければならない。
instance class &rest message [マクロ]
-
-
インスタンスが作られ、そこにmessageが送られる。
make-instance class &rest var-val-pairs [関数]
-
-
classのインスタンスを作成し、スロット変数を
var-val-pairsのように設定する。
例えば、(make-instance cons :car 1 :cdr 2)
は、(cons 1 2)と同等である。
copy-object object [関数]
-
-
copy-object関数は、参照トポロジー(再帰参照でも構わない)を保ったまま
コピーするために使用する。
copy-objectは、独自性の保存に触れないsymbolやパッケージを除いて、
objectからアクセス可能などんなオブジェクトもコピーする。
copy-objectは、オブジェクトの中の全ての参照を2度妨害する。
1度が、新しいオブジェクトを作り既にコピーされたオブジェクトのオリジナルに
マークを付けるとき、そしてマークを消すときにもう1度。
この2段階の処理は、copy-objectをcopy-seqよりも遅くする。
もし順番にコピーをしたいならば、
copy-seqかcopy-treeを使用することを薦める。
become object class [関数]
-
-
objectのクラスをclassに変更する。
古いクラスと新しいクラス両方のスロット構造は、一致しなければならない。
普通、2要素ベクトル間のクラス変更にのみ安全に使用することができる。
例えば、整数ベクトルからビットベクトルへの変更。
replace-object dest src [関数]
-
-
destは、srcのサブクラスのインスタンスでなければならない。
class object [関数]
-
-
objectのクラスオブジェクトを返す。
クラス名を得るために、クラスオブジェクトに:nameメッセージを送る。
derivedp object class [関数]
-
-
derivedpは、objectがclassまたはそのサブクラスから
インスタンス化されているかどうかを判定する。
subclasspとderivedp関数は、クラス継承のなかを探索できない。
したがって、一定時間内に型のチェックがいつも終了する。
slot object class (index slot-name) [関数]
-
-
スロット値の名前かインデックスを返す。
setslot object class (index slot-name) value [関数]
-
-
setslotは、内部処理関数でユーザーが使用できない。
代りに、setfとslotの組み合せを使用する。
2016-04-05