首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取asdf以加载目录中的所有文件

问获取asdf以加载目录中的所有文件
EN

Stack Overflow用户
提问于 2019-01-17 22:04:48
回答 3查看 253关注 0票数 3

有没有一种方法,我可以使asdf加载所有文件(*.lisp)在一个目录中,而不命名他们在我的.asd文件?在目录或文件名规范中使用通配符都不起作用。有人能帮帮忙吗?

EN

回答 3

Stack Overflow用户

发布于 2019-01-18 01:01:31

请参阅DIRECTORY

代码语言:javascript
复制
 CL-USER> (directory "*.lisp")
 => ("a.lisp"
     "b.lisp"
     ...)

然后,为每个文件调用LOAD。

但是,你也可以这样做:

代码语言:javascript
复制
CL-USER> (loop for f in * collect `(:file ,(pathname-name f)))
((:file "a") (:file "b"))

然后,您可以将其复制到您的.asd文件中,以便您的依赖关系更加明确。

票数 3
EN

Stack Overflow用户

发布于 2019-01-18 03:06:14

您可以使用ASDF:https://common-lisp.net/project/asdf/asdf/The-package_002dinferred_002dsystem-extension.html#The-package_002dinferred_002dsystem-extension的“包推断系统”扩展。为此,您必须遵守目录和文件命名约定,但它(表面上)更接近于在其他语言中组织此类内容的方式。

我必须承认,我更喜欢asd文件中的显式布局,因为它将系统、包和文件的概念清晰地分开。

票数 3
EN

Stack Overflow用户

发布于 2019-01-22 08:01:18

asdf存储库附带了一个asdf/contrib/wild-modules.lisp扩展,它可以执行您所说的操作。我仍然会使用包推断系统来代替。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54237641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档