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
の 各メソッドの宣言のラムダリストにある、 各キーワードパラメーター指定子のキーワード名は、 それらのメソッドが適用されるすべてのクラスに対して、 有効な初期化引数の名前として宣言されます。