Common lisp 如何使用类生成函数(Common Lisp)

Common lisp 如何使用类生成函数(Common Lisp),common-lisp,Common Lisp,我需要创建一个函数make numbers,该函数生成类numbers的实例: (defclass numbers () ((x :initform 0) (y :initform 0))) 输入应为:(编号28) 我开始:(defun make number(new-x new-y)(..),但我不知道如何继续。我已经尝试了一整天,没有结果。最后,我需要数一数这两个数字 您有什么想法吗?谢谢。我建议您为插槽添加:initarg关键字: (defclass numbers ()

我需要创建一个函数make numbers,该函数生成类numbers的实例:

(defclass numbers ()
  ((x :initform 0)
   (y :initform 0)))
输入应为:
(编号28)
我开始:
(defun make number(new-x new-y)(..
),但我不知道如何继续。我已经尝试了一整天,没有结果。最后,我需要数一数这两个数字


您有什么想法吗?谢谢。

我建议您为插槽添加
:initarg
关键字:

(defclass numbers ()
  ((x :initform 0 :initarg :x)
   (y :initform 0 :initarg :y)))
然后从函数中调用:

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

这样,您就不必使用
setf
on来初始化实例的插槽。

谢谢,我尝试了类似的方法,但没有成功。我用
setf
slot value
编写了错误的代码。