我正在尝试使用Clap
. 当我在一个文件中完成所有操作时,它工作正常:
// main.rs
use clap::Parser;
#[derive(Parser, Debug)]
struct Args {
#[clap(long, default_value = "John")]
name: String,
}
fn main() {
let args: Args = Args::parse();
println!("Your name is {}", args.name);
}
但是当我尝试放入Args
一个单独的文件时,它会中断:
// args.rs
pub use clap::Parser;
#[derive(Parser, Debug)]
pub struct Args {
#[clap(long, default_value = "John")]
pub name: String,
}
// main.rs
mod args;
use crate::args::Args;
fn main() {
let args: Args = Args::parse();
println!("Your name is {}", args.name);
}
出现以下错误:
let args: Args = Args::parse();
^^^^^ function or associated item not found in `args::Args`
到目前为止,我能够让它发挥作用的唯一方法就是做
use crate::args::{Args, Parser};
这是使它工作的唯一方法吗?有没有办法避免Parser
在这里导入?