1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
use std::env;
pub struct CliOptions {
program: String,
}
impl CliOptions {
pub fn new(program: &str) -> CliOptions {
CliOptions {
program: program.to_string(),
}
}
pub fn get_args(&self) -> Vec<String> {
env::args().collect()
}
pub fn get_num(&self) -> usize {
self.get_args().clone().len()
}
pub fn next_argument(&self, i: usize) -> String {
let a = env::args().nth(i + 1);
let arg = match a {
Some(a) => a,
None => String::new()
};
arg
}
pub fn get_program(&self) -> String {
let a = env::args().nth(0);
let arg = match a {
Some(a) => a,
None => self.program.clone()
};
arg
}
}