in-package sbcl

  • 本文关键字:sbcl in-package sbcl
  • 更新时间 :
  • 英文 :


在REPL中,我做:*(defpackage:foo(:使用公共lisp))*(包装内:foo)

#<PACKAGE "FOO">
* *package*
#<PACKAGE "FOO">

如果我写文件:

try-package.lisp:

(defpackage :foo (:use common-lisp))
(in-package :foo)

然后我加载这个文件:

* (load "try-package")
T 
* *package*
#<PACKAGE "COMMON-LISP-USER">

为什么我总是在COMMON-LISP-USER中,那么我应该在FOO中?

LOAD*PACKAGE*(以及*READTABLE*)绑定到它所持有的值在加载文件之前,如下所示:

(let ((*package* *package*)
      (*readtable* *readtable*))
  ... ;; really load a file
)          

最新更新