From 21688fafb5d5e1299b13bee37e06edf94439b14b Mon Sep 17 00:00:00 2001 From: _lmmmmmm <931420654@qq.com> Date: Mon, 16 May 2022 00:54:36 +0800 Subject: [PATCH] chore: solution of panic second question --- solutions/result-panic/panic.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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 +```