13 releases
0.1.72 | Jul 29, 2020 |
---|---|
0.1.71 | Jul 28, 2020 |
#776 in Command-line interface
200 downloads per month
6KB
62 lines
inputparser
Note: Thanks to @Restioson, @ThatsNoMoon and @kangalioo for helping me write the code
Now Rust inputs are almost as simple as Python
Terminal inputs are now easier than ever. Replacing over 5 lines of codes with just 1 function.
Supports all formats that FromStr Supports
Instead of
let mut var: String = String::new();
io::stdin().read_line(&mut var).unwrap();
let var: i32 = var.trim().parse().unwrap();
why not
let var: i32 = input(Def);
and it doesn't panic when wrong format is entered (when default arg [Def]).
Or you can choose to make it panic too.
Usage
[dependencies]
inputparser = "0.1"
Example
extern crate inputparser;
use inputparsertest::{input, input_w_msg, inputfn, ErHandle::*};
fn main() {
//for Default continue message "Input not supported" when Err
let i: i32 = input(Def);
//for custom panic message when Err
let j: f64 = input(Pnc("Panic Message"));
//for custom continue message when Err
let k: u128 = input(Msg("Continue Message"));
//for custom loop message and continue/error message
let l: isize = input_w_msg("Enter the number",Msg("Please enter valid number"));
//for more Rust way for handling the error
let m: usize = inputfn(|| /*use panic if required*/ println!("Continue Error Message"));
println!("{} {} {} {} {}", i, j, k, l, m);
}