【发布时间】:2019-06-30 09:01:08
【问题描述】:
我已经定义了如下的包:
(defpackage :thehilariouspackageofamirteymuri
(:nicknames ampack amir teymuri)
(:use common-lisp)
(:export say-hi-to))
(in-package :amir)
(defun say-hi ()
"Docstring"
"Hello")
(defun say-hi-to (who)
(concatenate 'string (say-hi) " " who " from " (package-name *package*) "!"))
现在更改为包也可以访问#'say-hi:
(in-package :amir)
(say-hi) ; -> "Hello"
(say-hi-to "World") ; -> "Hello World from THEHILARIOUSPACKAGEOFAMIRTEYMURI!"
export 关键字不是告诉我们要使包外部的东西吗?为什么非外部的#'say-hi 也导出了?
【问题讨论】:
-
是什么让你觉得
say-hi被导出了? -
因为更改为创建的包我称之为。
-
当然,您正在更改为包。但这与出口有什么关系?你怎么看?问问自己“导出”的实际效果是什么......
-
你能从
cl-user包中访问它吗?
标签: package export common-lisp