【发布时间】:2012-01-03 14:16:30
【问题描述】:
我在两个单独的文件中编写了两个函数,假设是文件 A.lisp 和 B.lisp,这两个文件都有一些用于测试的主程序代码,A.lisp 会调用 B.lisp 中的函数。这意味着直接在 A.lisp 中使用 load 方法将执行 B.lisp 中的主代码,这是不应该发生的。在我看来,这些文件太小了,无法考虑使用类似 package 的东西。
Common Lisp 中有没有类似 Python 的 if __name__ == "__main__": 的东西?仅当当前文件是主模块(即正在运行的程序)时,才会执行包含在此条件中的顶级代码,但如果它作为库导入则不会执行。
【问题讨论】:
-
我问的是a similar question about Clojure,而不是 Common Lisp,但您可能会发现一些回答很有帮助,尤其是目前评价最高的回答。
-
谢谢你,蒂姆!真的很有帮助。
标签: lisp common-lisp