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 Send for Parser
impl !Sync for Parser
impl Unpin 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