Function MAKE-LOAD-FORM-SAVING-SLOTS

UP


Function MAKE-LOAD-FORM-SAVING-SLOTS

Function MAKE-LOAD-FORM-SAVING-SLOTS

構文

make-load-form-saving-slots object &key slot-names environment => creation-form, initialization-form

引数と戻り値

object - オブジェクト
slot-names - リスト
environment - 環境オブジェクト
creation-form - フォーム
initialization-form - フォーム

定義

返却値のフォームが評価されたとき、 initialization-formの実行なしに、 objectと同等のオブジェクトが構築されます。 新しいオブジェクトのスロットの初期化は、 objectの初期化されているスロットに対してはその値を用いて行われます。 objectの初期化されていないスロットについては、 新しいオブジェクトでは初期化されません。 make-load-form-saving-slotsは、 standard-objectstructure-objectの インスタンスであれば動作します。

slot-namesは保存するスロットの名前のリストです。 slot-namesが与えられない場合、その値はすべての局所スロットになります。

make-load-form-saving-slotsは2つの値を返却するので、 循環構造を扱うことができます。 この結果がアプリケーションで有用かどうかは、 オブジェクトの型とスロットの内容が、 アプリケーションの考えるオブジェクトの状態を 完全に捉えているかどうかに依存します。

environmentはフォームを処理する環境です。

例文

なし。

副作用

なし。

影響

なし。

例外

なし。

参考

make-load-form, make-instance, setf, slot-value, slot-makunbound

備考

make-load-form-saving-slotsは、 ユーザーがmake-load-formメソッドを作成する際に便利です。

もしobjectstandard-objectのインスタンスならば、 make-load-form-saving-slotscreation-formallocate-instanceを呼ぶフォームを、 initialization-formにはslot-valuesetfと、 slot-makunboundを含むフォームが返却されます。 しかし、実際には同様の効果を持つ他の関数が使用されるかもしれません。


TOP, Github