-extern crate stud_rust_base;
use stud_rust_base::{io::*, cli::CliErr};
use std::{env, fmt::Display, error::Error};
fn main() -> Result<(), Box<dyn Error>> {
- let mut args = env::args();
- args.next();
-
- match &args.collect::<Vec<String>>()[..] {
+ match &env::args().skip(1).collect::<Vec<String>>()[..] {
[data_type, input1, input2] => {
match data_type.as_ref() {
"i8" => { compare_values(&Vec::<i8>::load_from(input1)?, &Vec::<i8>::load_from(input2)?); Ok(()) },
T: PartialOrd
{
if values1.len() != values2.len() {
- println!("Can only compare vectors of equal size. The first vector has {} elements. The second vector has {} elements.", values1.len(), values2.len());
+ println!("0");
+ eprintln!("Can only compare vectors of equal size. The first vector has {} elements. The second vector has {} elements.", values1.len(), values2.len());
return
}
match first_diff {
Some(index) => {
- println!("The vectors differ.");
- println!("{} elements are smaller in the first vector.", v1_smaller_count);
- println!("{} elements are smaller in the second vector.", v2_smaller_count);
- println!("{} elements are the same.", values1.len() - v1_smaller_count - v2_smaller_count);
- println!("{} elements are different.", v1_smaller_count + v2_smaller_count);
- println!("The vectors have {} elements.", values1.len());
- println!("The first element that differs is at index {}.", index);
+ eprintln!("The vectors differ.");
+ eprintln!("{} elements are smaller in the first vector.", v1_smaller_count);
+ eprintln!("{} elements are smaller in the second vector.", v2_smaller_count);
+ eprintln!("{} elements are the same.", values1.len() - v1_smaller_count - v2_smaller_count);
+ println!("{}", values1.len() - v1_smaller_count - v2_smaller_count);
+ eprintln!("{} elements are different.", v1_smaller_count + v2_smaller_count);
+ eprintln!("The vectors have {} elements.", values1.len());
+ eprintln!("The first element that differs is at index {}.", index);
},
None => {
- println!("The vectors are the same and have {} elements.", values1.len());
+ println!("{}", values1.len());
+ eprintln!("The vectors are the same and have {} elements.", values1.len());
},
}
}