sbcl 中奇怪的类优先级列表
在 sbcl 中, *(sb-mop:class-precedence-list (find-class 'cons)) ==>(#<BUILT-IN-CLASS CONS> #<BUILT-IN-CLASS LIST> #<BUILT-IN-CLA…
Lisp:我如何获取在initialize-instance :around方法中创建的实例
我想为类 X 创建一个初始化实例的 (:around Qualified) 专门化器,它将首先调用下一个方法,然后调用另一个类的 make-instance,为其提供创建的 X 实…
CLOS 相对于其他基于类的 OO 系统的优势
我曾遇到过这样的说法:Common Lisp 对象系统 (CLOS) 优于传统的(基于类的)面向对象系统。 CLOS 的维基百科条目 提到了两种方法之间的差异 - 主要是…
比较 Common Lisp 和 Gambit 的库访问和对象系统
我对 Gambit Scheme 非常感兴趣,特别是它支持的广泛平台,以及它在需要时将 C 代码直接放入您的 Scheme 源代码的能力。也就是说,它是一个方案,与 C…
Lisp 中槽的访问问题(CLOS)
我有一个 Node 类,它有一个“元素”槽,其中包含一个包含数字和一个字母的列表,例如: “(1 2 3 b 4 5 6) (defclass node () ((element :reader get…
根据 Common Lisp 对象系统类定义中的其他槽值初始化槽
在我的类定义中,我想根据另一个槽的值初始化一个槽。这是我想做的事情: (defclass my-class () ((slot-1 :accessor my-class-slot-1 :initarg slot-…
如何编写(简单)宏?
我需要为我正在编写的游戏编写一个宏 (with-hooks (monster method who what) &body body) 。 Monster 是一个 CLOS 对象,方法,谁是字符串,什么…
使用change-class从数字创建多项式对象
我已经按照 SICP 2.5.3 中描述的方式编写了一个多项式类(除了使用 defclass)。我希望能够无缝地对多项式和常规数字进行加法和乘法,但我无法使更改…
更改 Allegro CL 中的可编辑文本值
我试图通过单击默认按钮来更改 Allegro CL(版本 8.0.1)中可编辑文本控件的值。 我已阅读有关 (setf value) 但尚未找到任何示例。 我附加到点击事件…
Common Lisp 中的跨包 defgeneric/defmethod?
在 CLOS 中,在包 A 中定义泛型并在包 B 中为该泛型提供方法的正确方法是什么? 先感谢您! 例子: (defpackage :common (:use :cl)) (in-package :co…
类中的 lisp 文件指针
我在理解类中处理文件访问的 CLOS 方式时遇到了问题。在 C++ 中,我可以这样做: class Foo { Foo (string filename) // opens the file (my_file) re…
- 共 1 页
- 1