在REPL中我这样做:* (defpackage :foo (:use common-lisp)) * ( In -package :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用户中,那么我应该在FOO中?
发布于 2013-02-08 18:30:41
LOAD将*PACKAGE* (以及*READTABLE*)绑定到它在加载文件之前持有的值,如下所示:
(let ((*package* *package*)
(*readtable* *readtable*))
... ;; really load a file
) https://stackoverflow.com/questions/14770467
复制相似问题