【发布时间】:2011-11-14 23:27:10
【问题描述】:
在 Common Lisp 中,如何覆盖 CLOS 类的默认字符串表示,以便调用 format 或 princ 将打印出可理解的内容,即使该类的对象嵌入在其他类型中,例如列表还是数组?
例如,如果我在 x 持有我的解决方案类的实例时调用 (format t "~a~%" x),我希望它打印类似 #<SOLUTION genes: #(1 2 3) scores: #(4 5) rank: 6> 而不是 #<SOLUTION {BB7CD31}> 的内容。
到目前为止,我所想出的只是编写自定义函数来处理我知道将包含此类实例的打印结构,但这很乏味。肯定 Lisp 提供了一些免费获得此功能的方法吗?
【问题讨论】:
标签: string lisp common-lisp representation clos