1

我需要创建一个函数 make-numbers 来创建类号的实例:

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

输入应该是 li this: (make-numbers 2 8) I started: (defun make-numbers (new-x new-y) (....,但我不知道如何继续。我试了一整天,没有结果。最后,我需要数一下这两个数字。

你有什么主意吗?谢谢。

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))

这样,您就不必使用setfslot -value来初始化实例的插槽。

于 2013-03-16T08:05:26.767 回答