CLOSの「スロット」について説明してください。スロット名の後の部分がわかりにくいです。それは次のとおりです。
(defclass foo () (data1 :initarg foo))
「initarg」やその他の同様のことはどういう意味ですか? マニュアルを読み直しています。ですから、私のような素人に説明できる方がいらっしゃれば、本当にありがたいです。
ありがとう!
CLOSの「スロット」について説明してください。スロット名の後の部分がわかりにくいです。それは次のとおりです。
(defclass foo () (data1 :initarg foo))
「initarg」やその他の同様のことはどういう意味ですか? マニュアルを読み直しています。ですから、私のような素人に説明できる方がいらっしゃれば、本当にありがたいです。
ありがとう!
スロット仕様では、一般的な構文は(slot-name [ slot-option option-value ] ...)です。基本的にauthoritatievのリファレンスは、defclassのHyperSpecページですが、簡単に言うと次のようになります。
:readerスロットの値を読み取る関数
:writerスロットの値を書き込む関数
:accessorスロットの値を読み取り、(SETFを介して)設定する関数
:initargスロットの値を設定するシンボルMAKE-INSTANCE
他にもありますが、そのリストは私が主に使用する4つです(実際、私は主に:initargと:accessorまたは:readerのいずれかを使用します)。