1

クラス番号のインスタンスを作成する関数 make-numbers を作成する必要があります。

(defclass numbers ()
  ((x :initform 0)
   (y :initform 0)))

入力はこれである必要があります: (make-numbers 2 8) I started: (defun make-numbers (new-x new-y) (...., but I don't know how continue. 私は一日中それを試しましたが、結果はありません。最後に、この 2 つの数字を数える必要があります。

何か考えはありますか?ありがとう。

4

1 に答える 1

2

:initargスロットにキーワードを追加することをお勧めします。

(defclass numbers ()
  ((x :initform 0 :initarg :x)
   (y :initform 0 :initarg :y)))

次に、関数からmake-instanceを呼び出します。

(defun make-numbers (new-x new-y)
  (make-instance 'numbers :x new-x :y new-y))

そうすれば、setfon slot-valueを使用してインスタンスのスロットを初期化する必要がなくなります。

于 2013-03-16T08:05:26.767 に答える