首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ltk问题(常见的lisp)

ltk问题(常见的lisp)
EN

Stack Overflow用户
提问于 2010-03-14 17:42:10
回答 1查看 1.6K关注 0票数 7

我用asdf-install将ltk安装到,但我甚至不能开始使用它V_V,下面的代码是文档中最简单的示例,几乎是逐字复制的。

代码语言:javascript
复制
(asdf:operate 'asdf:load-op :ltk)

(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)

这是从sbcl获得的错误消息:

代码语言:javascript
复制
> ; in: LAMBDA NIL
;     (PACK B)
; 
; caught STYLE-WARNING:
;   undefined function: PACK

;     (WITH-LTK NIL
;      (LET ((B (MAKE-INSTANCE 'BUTTON :MASTER NIL :TEXT "Press Me" :COMMAND #)))
;        (PACK B)))
; 
; caught STYLE-WARNING:
;   undefined function: WITH-LTK
; 
; compilation unit finished
;   Undefined functions:
;     PACK WITH-LTK
;   caught 2 STYLE-WARNING conditions

debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial thread" RUNNING {1002A57B61}>:
  There is no class named BUTTON.

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-PCL::FIND-CLASS-FROM-CELL BUTTON NIL T)
EN

回答 1

Stack Overflow用户

发布于 2010-03-14 20:27:37

ASDF不会将包加载到通用LISP用户包中。因此,在当前包中没有定义WITH-LTK,因此需要这样做:

代码语言:javascript
复制
(asdf:oos 'asdf:load-op :ltk)
(in-package :ltk)
;put your function here
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2443068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档