X-Git-Url: https://i11git.iti.kit.edu/anon-gitweb/?p=Mitarbeiter%2FTim-Zeitz%2Fstud-rust-base.git;a=blobdiff_plain;f=src%2Fbin%2Fexample.rs;h=f8e94342d850b4a87e2549b13e61792466e3f7e1;hp=c0dbaf7b577faceac53b68e8bf778a57c370b325;hb=HEAD;hpb=9db2868f6f0fb9829f0f88a39601d4931736ed54 diff --git a/src/bin/example.rs b/src/bin/example.rs index c0dbaf7..e1eb51f 100644 --- a/src/bin/example.rs +++ b/src/bin/example.rs @@ -1,30 +1,26 @@ -extern crate stud_rust_base; +use stud_rust_base::{io::*, time::report_time, types::*}; -use stud_rust_base::{ - types::*, - io::*, - time::report_time, -}; +use std::{env, error::Error, path::Path}; -use std::{env, path::Path}; - -fn main() { - let mut args = env::args(); - args.next(); - - let arg = &args.next().expect("No directory arg given"); +fn main() -> Result<(), Box> { + let arg = &env::args().nth(1).expect("No directory arg given"); let path = Path::new(arg); - let first_out = Vec::::load_from(path.join("first_out").to_str().unwrap()).expect("could not read first_out"); - let head = Vec::::load_from(path.join("head").to_str().unwrap()).expect("could not read head"); - let travel_time = Vec::::load_from(path.join("travel_time").to_str().unwrap()).expect("could not read travel_time"); + let first_out = Vec::::load_from(path.join("first_out"))?; + let head = Vec::::load_from(path.join("head"))?; + let travel_time = Vec::::load_from(path.join("travel_time"))?; report_time("iterating over arcs of some node", || { let node_id = 42; - for edge_id in first_out[node_id] .. first_out[node_id + 1] { - println!("There is an arc from {} to {} with weight {}", node_id, head[edge_id as usize], travel_time[edge_id as usize]); + for edge_id in first_out[node_id]..first_out[node_id + 1] { + println!( + "There is an arc from {} to {} with weight {}", + node_id, head[edge_id as usize], travel_time[edge_id as usize] + ); } }); - vec![42; 42].write_to(path.join("distances").to_str().unwrap()).expect("could not write distances"); + vec![42; 42].write_to(&path.join("distances"))?; + + Ok(()) }