我正在尝试创建一个类,可以将符号向量存储在 SBCL 的插槽中。我不知道如何设置它。
到目前为止我最好的猜测是
(defclass Individual ()
((discrete-decisions :type (vector symbol))))
这将返回以下错误:
keyword argument not a symbol:
(DISCRETE-DECISIONS :TYPE (VECTOR SYMBOL)).
[Condition of type SB-INT:SIMPLE-PROGRAM-ERROR]
一些实验表明,将类型更改为symbol
返回相同的错误。我以为symbol
是 Common Lisp 中的有效类型...我错了吗?
我怎样才能让它发挥作用?
[EDIT]
我遇到的上述问题是在 Emacs 24.2 下的 09-22-2012 Slime 版本中运行 SBCL 1.0.58。当我从命令行运行 SBCL 1.0.58 时,没有问题。这看起来不像是 SBCL 问题...
您可以考虑在槽访问器/写入器上定义 :after 方法。此外,可以通过定义自己的元类和自定义 slot-value-using-class 来实现最终的控制程度
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)