diff --git a/solutions/result-panic/panic.md b/solutions/result-panic/panic.md index 175dd55..a25f86d 100644 --- a/solutions/result-panic/panic.md +++ b/solutions/result-panic/panic.md @@ -25,18 +25,20 @@ fn main() { ```rust // MAKE the code work by fixing all panics fn main() { - assert_eq!("abc".as_bytes(), [96, 97, 98]); + assert_eq!("abc".as_bytes(), [97, 98, 99]); let v = vec![1, 2, 3]; - let ele = v[3]; + let ele = v[2]; // unwrap may panic when get return a None - let ele = v.get(3).unwrap(); + let ele = v.get(2).unwrap(); // Sometimes, the compiler is unable to find the overflow errors for you in compile time ,so a panic will occur let v = production_rate_per_hour(2); // because of the same reason as above, we have to wrap it in a function to make the panic occur - divide(15, 0) + divide(15, 1); + + println!("Success!") } fn divide(x:u8, y:u8) { @@ -44,7 +46,7 @@ fn divide(x:u8, y:u8) { } fn production_rate_per_hour(speed: u8) -> f64 { - let cph: u8 = 221; + let cph: u8 = 21; match speed { 1..=4 => (speed * cph) as f64, 5..=8 => (speed * cph) as f64 * 0.9, @@ -56,4 +58,4 @@ fn production_rate_per_hour(speed: u8) -> f64 { pub fn working_items_per_minute(speed: u8) -> u32 { (production_rate_per_hour(speed) / 60 as f64) as u32 } -``` \ No newline at end of file +```