我需要创建一个函数 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) (....
,但我不知道如何继续。我试了一整天,没有结果。最后,我需要数一下这两个数字。
你有什么主意吗?谢谢。
我需要创建一个函数 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) (....
,但我不知道如何继续。我试了一整天,没有结果。最后,我需要数一下这两个数字。
你有什么主意吗?谢谢。
我建议您: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))
这样,您就不必使用setf
slot -value来初始化实例的插槽。