version_math/
version-math.rs1
2use std::env;
3
4use version_operators::Version;
5
6
7fn main() {
16 let mut iter = env::args().skip(1);
17 let mut version_args: Vec<String> = vec![];
18 loop {
19 if version_args.len() < 3 {
20 let arg = iter.next();
21 match arg {
22 Some(value) => version_args.push(value),
23 _ => break,
24 }
25 } else {
26 let left = Version::from_str(&version_args[0]);
27 let operator: &str = &version_args[1].to_owned();
28 let right = Version::from_str(&version_args[2]);
29 let result = match operator {
30 "+" | "-add" => left + right,
31 "-" | "-sub" => left - right,
32 _ => panic!("Unrecognized operator! Try '+'/'-add' or '-'/'-sub'"),
33 };
34 println!("{:?}", result.to_vector());
35 version_args = vec![];
36 }
37 }
38}
39