无法正确读取命令行参数”--save“
DeadPoetSpoon opened this issue · 4 comments
DeadPoetSpoon commented
save
格式为: <seconds> <changes>
db/db_config.rs 中 get_save_or
函数仅获取两位
如下可解决该问题,但不是获取命令行参数的最佳方案,在persistence/rdb_scheduler.rs 中 execute
函数循环获取 save
参数对,现有的写法无法实现
fn get_save_or(default_save: Option<String>) -> Option<String> {
let mut args = env::args().skip_while(|arg| arg != "--save").take(3); // 获取三位
if args.next().is_none() {
return default_save;
}
if let (Some(i), Some(c)) = (args.next(), args.next()) {
Some(format!("{} {}", i, c)) // 拼接为正确格式
} else {
default_save
}
}
建议将命令行参数的优先级提高在配置文件之前
DeadPoetSpoon commented
@sleeprite 如果愿意使用 clap 我可以帮助修改一下
sleeprite commented
@sleeprite 如果愿意使用 clap 我可以帮助修改一下
可以的,没问题
sleeprite commented
@DeadPoetSpoon 在 main.rs 中的测试程序我们是否可以独立出去,来保证代码结构的清晰