Standard Generic Function REINITIALIZE-INSTANCE
reinitialize-instance instance &rest initargs &key &allow-other-keys => instance
reinitialize-instance (instance standard-object) &rest initargs
instance - オブジェクト
initargs - 初期化引数リスト
ジェネリック関数reinitialize-instanceは、 instanceの局所スロットの値をinitargsに従って 変更するときに使われます。 このジェネリック関数は、ユーザーによって呼び出すことができます。
システムが提供するreinitialize-instanceのプライマリメソッドは initargsの有効性の確認を行い、 有効だと宣言されていないものがinitargsで与えられていた場合は、 エラーが通知されます。 このメソッドはジェネリック関数shared-initializeを次の引数で呼び出します。 instance, nil (これはinitformでスロットを初期化しないという意味です), そして受け取ったinitargs。
なし。
ジェネリック関数reinitialize-instanceは局所スロットの値を変更します。
なし。
システムが提供するreinitialize-instanceのプライマリメソッドは 有効だと宣言されていないものがinitargsで与えられていた場合は、 エラーが通知されます。
initialize-instance, shared-initialize, update-instance-for-redefined-class, update-instance-for-different-class, slot-boundp, slot-makunbound, 7.3. インスタンスの再初期化, 7.1.4. 初期化引数の規則, 7.1.2. 初期化引数の有効性の宣言
initargsは、defclassの:initarg引数によって、 あるいはreinitialize-instanceかshared-initializeの メソッドの宣言によって、有効であると宣言されます。 reinitialize-instanceかshared-initializeの 各メソッドの宣言のラムダリストにある、 各キーワードパラメーター指定子のキーワード名は、 それらのメソッドが適用されるすべてのクラスに対して、 有効な初期化引数の名前として宣言されます。