Convert values of the setup line
This commit is contained in:
parent
5c9aeabd03
commit
f4a1eac5b7
17
src/main.rs
17
src/main.rs
@ -93,6 +93,7 @@ fn parse_config(conf: String, pool: &mut Vec<robot::Robot>) -> Result<world::Wor
|
|||||||
if raw_inst.is_empty() {
|
if raw_inst.is_empty() {
|
||||||
return Err("This line should not be empty !");
|
return Err("This line should not be empty !");
|
||||||
}
|
}
|
||||||
|
// Parse the setup line of the robot.
|
||||||
let mut setup = raw_setup.split_whitespace();
|
let mut setup = raw_setup.split_whitespace();
|
||||||
let pos_x = match setup.next() {
|
let pos_x = match setup.next() {
|
||||||
None => return Err("Could not read the first token of the setup line !"),
|
None => return Err("Could not read the first token of the setup line !"),
|
||||||
@ -106,6 +107,22 @@ fn parse_config(conf: String, pool: &mut Vec<robot::Robot>) -> Result<world::Wor
|
|||||||
None => return Err("Could not read the third token of the setup line !"),
|
None => return Err("Could not read the third token of the setup line !"),
|
||||||
Some(raw) => raw,
|
Some(raw) => raw,
|
||||||
};
|
};
|
||||||
|
// Convert values of the setup line
|
||||||
|
let r_x = match pos_x.parse::<i32>() {
|
||||||
|
Err(_) => return Err("Could not convert the first token of the setup ligne to i32 !"),
|
||||||
|
Ok(raw) => raw,
|
||||||
|
};
|
||||||
|
let r_y = match pos_y.parse::<i32>() {
|
||||||
|
Err(_) => return Err("Could not convert the second token of the setup ligne to i32 !"),
|
||||||
|
Ok(raw) => raw,
|
||||||
|
};
|
||||||
|
let r_o = match orientation {
|
||||||
|
"N" => robot::Orientation::N,
|
||||||
|
"E" => robot::Orientation::E,
|
||||||
|
"S" => robot::Orientation::S,
|
||||||
|
"W" => robot::Orientation::W,
|
||||||
|
_ => return Err("The third token of the setup line do not match any orientations !"),
|
||||||
|
};
|
||||||
println!("{}", raw_setup);
|
println!("{}", raw_setup);
|
||||||
println!("{}", raw_inst);
|
println!("{}", raw_inst);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user