6

CLOSの「スロット」について説明してください。スロット名の後の部分がわかりにくいです。それは次のとおりです。

(defclass foo () (data1 :initarg foo))

「initarg」やその他の同様のことはどういう意味ですか? マニュアルを読み直しています。ですから、私のような素人に説明できる方がいらっしゃれば、本当にありがたいです。

ありがとう!

4

2 に答える 2

1

スロット仕様では、一般的な構文は(slot-name [ slot-option option-value ] ...)です。基本的にauthoritatievのリファレンスは、defclassのHyperSpecページですが、簡単に言うと次のようになります。

:readerスロットの値を読み取る関数
:writerスロットの値を書き込む関数
:accessorスロットの値を読み取り、(SETFを介して)設定する関数
:initargスロットの値を設定するシンボルMAKE-INSTANCE

他にもありますが、そのリストは私が主に使用する4つです(実際、私は主に:initargと:accessorまたは:readerのいずれかを使用します)。

于 2009-03-10T11:35:04.120 に答える