我正在做代码的出现,这是一个25个编程问题的集合,每个问题对应一天的出现。
我将每一天组织在它自己的单独文件/模块中,例如2021年的第7天将是src/years/year2021/day07.rs
,因此src/years/year2021/mod.rs
最终只是pub mod
s
pub mod day01;
pub mod day02;
pub mod day04;
// and so on...
有没有一种方法可以动态生成这个列表(使用类似递归宏的东西),所以检查模块day 01是否可以从这个上下文访问(或者./ www.example.com是否day01.rs存在),并自动生成pub mod
,并在创建文件时添加更多。
最好的方法是检查是否存在任何名称,比如模块或模块内的函数。
2条答案
按热度按时间ujv3wf0j1#
您可以使用build.rs基于构建时存在的文件生成模块。
像这样的东西
6jjcrrmo2#
我使用的
build.rs
版本与@pidgeonhands版本非常相似,它对文件夹中的奇怪文件更具弹性(只有在无法创建或写入文件时才会崩溃),并且可以工作多年: