use std::fs::File;
use std::io::{self, Read};
fn read_file(file_path: &str) -> Result<String, io::Error> {
let mut file = File::open(file_path)?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
Ok(contents)
}
fn parse_file(contents: &str) -> Result<Vec<u32>, String> {
contents
.lines()
.map(|line| line.parse::<u32>().map_err(|e| format!("Failed to parse line '{}': {}", line, e)))
.collect()
}
fn main() {
let file_path = "example.txt";
let result = read_file(file_path)
.and_then(parse_file);
match result {
Ok(numbers) => println!("Parsed numbers: {:?}", numbers),
Err(e) => eprintln!("Error: {}", e),
}
}