我正在完成Advent of Code 2021,我的main.rs
文件看起来像这样:
// # Day 1
if day1::is_complete() && print_complete || !day1::is_complete() {
day1::part1();
day1::part2();
} else {
println!("✅ Day 1 finished!")
}
// # Day 2
if day2::is_complete() && print_complete || !day2::is_complete() {
day2::part1();
day2::part2();
} else {
println!("✅ Day 2 finished!")
}
...
这将持续25天。
每个模块都有一个名为part1
和part2
的函数。
是否有一种类似于Python中eval
这样更简洁的方式来实现这样的功能?
for day in 1..=25 {
let mod_name = convert_to_mod_name(day);
if mod_name::is_complete() && print_complete || !mod_name::is_complete() {
mod_name::part1();
mod_name::part2();
} else {
println!("✅ Day {day} finished!", day);
}
rustc
的话就无法完全实现。 - Chayim Friedman