pub struct Parser { /* private fields */ }Expand description
Implementations§
Source§impl Parser
impl Parser
Sourcepub fn add_arg(&self, arg: Arg)
pub fn add_arg(&self, arg: Arg)
Adds an argument to the parser.
§Example
let arg = Arg::new().param("num");
let parser = Parser::new();
parser.add_arg(arg);Sourcepub fn add_args(&self, args: Vec<Arg>)
pub fn add_args(&self, args: Vec<Arg>)
Adds a vector of arguments to the parser.
§Example
let mut args = vec![
Arg::new().param("num1"),
Arg::new().param("num2"),
];
let parser = Parser::new();
parser.add_args(args);Sourcepub fn parse(
&self,
args: &mut impl Iterator<Item = String>,
) -> Result<HashMap<String, Option<String>>, Box<dyn Error>>
pub fn parse( &self, args: &mut impl Iterator<Item = String>, ) -> Result<HashMap<String, Option<String>>, Box<dyn Error>>
Parses through the remaining arguments and returns a hashmap of arguments passed and their relevant values.
§Example
let parser = Parser::new();
let mut args = vec![
Arg::new().param("p1"),
Arg::new().param("p2"),
Arg::new().flag("help").short('h');
];
parser.add_args(args);
let mut input_args = std::env::args();
input_args.next();
let hashmap = parser.parse(input_args).unwrap();
println!("p1: {}, p2: {}", hashmap.get("p1"), hashmap.get("p2"));
if hashmap.contains_key("help") {
println!("Help requested!");
}Auto Trait Implementations§
impl !Freeze for Parser
impl !RefUnwindSafe for Parser
impl !Sync for Parser
impl Send for Parser
impl Unpin for Parser
impl UnsafeUnpin for Parser
impl UnwindSafe for Parser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more