use std::fs; fn main() { let args:Vec = std::env::args().collect(); if args.len() <= 1 { println!("Please, provide the input file path to be processed!"); return; } let firstArg = &args[1]; let contents = fs::read_to_string(firstArg) .expect("Expected to open the file"); let splitted_content : std::str::Lines = contents.lines(); //DONE: Split string lines //DONE: get the values from each column //DONE: calculate the distance between the columns //DONE: sum the distances println!("With text:\n{contents}"); //println!("\n{splittedContent:?}"); let numbers:i32 = splitted_content //.lines() //.into_iter() .filter_map(|x| { let mut nums = x.split_whitespace().filter_map(|i| i.parse::().ok()); Some ((nums.next()?,nums.next()?)) }) .filter_map(|(a,b)| { Some(b - a) }) //; .sum(); println!("Distance sum: {numbers}"); /*for number in numbers { println!("\n number -> {number:?}"); }*/ /*for line in splitted_content { for word in line.split_whitespace() { let x = word.parse::().unwrap(); let y = x.to_string(); println!("Word: {word} -> {y}"); } }*/ }