通常的做法是简单地使用lisp代码文件顶部的load
函数来引入其他地方定义的函数,类似于C / C ++中的#include
指令?
即
(load "math_functions.lisp")
(load "string_processing.lisp")
还有其他更常见的方法来共享文件之间的功能吗?
答案 0 :(得分:3)
通常,库使用一些工具来允许您正确地编译和加载库。如果库非常大,那么在不了解内部依赖性的情况下加载它是很困难的。其中一个工具是ASDF
(asdf article on wikipedia),这是Common Lisp的标准。
此外,如果您使用多个文件开发某个包,则可以使用asdf
来描述文件之间的依赖关系和关系。
答案 1 :(得分:3)
当然,您可以将load
个文件放入“主”文件中,但更常见且实际上更方便的方法是使用ASDF工具。
我这样做是为了与Quicklisp一起在~/quicklisp/local-projects
目录中为您的项目创建一个目录,并将.asd
文件与源文件放在一起。
您可能还会发现this guide to Quickproject有用。