我正在 Mac 上学习 Common Lisp (Clozure CL) 并安装了 quicklisp,在这里有一位慷慨的贡献者的帮助。'ltk' 库在运行 (ltk::ltk-eyes) 或 (ltk:ltktest) 时工作。
运行 (ql:quickload "ltk") 似乎可以工作,因为它返回以下内容:
加载 1 个 ASDF 系统:
ltk
;加载“ltk”
我在运行从“ltk”文档中获取的以下代码时遇到问题。这是脚本:
(ql:quickload "ltk") ;my addition to the script
(defun hello-1()
(with-ltk ()
(let ((b (make-instance 'button
:master nil
:text "Press Me"
:command (lambda ()
(format t "Hello World!~&")))))
(pack b))))
但是,当我运行 (hello-1) 时,我得到了这个:
错误:找不到名为 BUTTON 的类。执行时:FIND-CLASS,在进程 Listener(4) 中。键入 cmd-/ 继续,cmd-。要中止,cmd-\ 以获取可用重新启动的列表。如果继续:尝试再次查找课程类型:?其他选项。
我的猜测是函数定义中没有正确访问“ltk”库?我试图通过使用 ltk:with-ltk 来解决这个问题,因为它似乎是一个 ltk 函数。
(defun hello-1()
(ltk:with-ltk ()
(let ((b (make-instance 'button
:master nil
:text "Press Me"
:command (lambda ()
(format t "Hello World!~&")))))
(pack b))))
但这产生了以下错误。看来我越来越接近修复它了,因为 2D 画布也出现了,GUI 提醒我错误。
谢谢你的帮助。