我写了两个函数在两个分开的文件,假设是文件A.lisp和B.lisp,其中两个文件都有一些主程序测试代码和A.lisp将调用B.lisp中的函数。这意味着直接在A.lisp中使用load
方法将执行B.lisp中的主代码,这不应该发生。在我看来,这些文件太小而不能用包装之类的东西来考虑。有没有像Python的`if __name__ == _ _main __“:`东西在Common Lisp
在Common Lisp中有没有像Python的if __name__ == "__main__":
的东西?封装在此条件下的顶级代码仅在当前文件是主要模块(即正在运行的程序)时才会执行,但是如果它作为库导入则不会执行。
我问了[有关Clojure的类似问题](http://stackoverflow.com/questions/973106/what-is-the-clojure-equivalent-of-the-python-idiom-if-name-main),而不是Common Lisp,但是您可能会发现一些有用的回复,特别是当前评分最高的回复。 – 2013-06-20 21:12:05
谢谢蒂姆!这真的很有帮助。 – lastland 2013-07-01 08:22:01