diff options
| author | mo8it <mo8it@proton.me> | 2024-07-03 15:26:35 +0200 |
|---|---|---|
| committer | mo8it <mo8it@proton.me> | 2024-07-03 15:26:35 +0200 |
| commit | f5ce4cf0a50e88e0e70d90e139a6e981791c9af0 (patch) | |
| tree | b908688a611c6e64ff1bb7a6a94e9547b7b575de /exercises/13_error_handling/errors3.rs | |
| parent | 888ad35d10e8bc6832c11fd8268697311497c1c9 (diff) | |
| parent | ff3e6c05a52aa0c7e558d86404cfe8495a4412fd (diff) | |
Merge branch 'v6'
Diffstat (limited to 'exercises/13_error_handling/errors3.rs')
| -rw-r--r-- | exercises/13_error_handling/errors3.rs | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/exercises/13_error_handling/errors3.rs b/exercises/13_error_handling/errors3.rs index d42d3b1..33a7b87 100644 --- a/exercises/13_error_handling/errors3.rs +++ b/exercises/13_error_handling/errors3.rs @@ -1,16 +1,20 @@ -// errors3.rs -// // This is a program that is trying to use a completed version of the // `total_cost` function from the previous exercise. It's not working though! // Why not? What should we do to fix it? -// -// Execute `rustlings hint errors3` or use the `hint` watch subcommand for a -// hint. - -// I AM NOT DONE use std::num::ParseIntError; +// Don't change this function. +fn total_cost(item_quantity: &str) -> Result<i32, ParseIntError> { + let processing_fee = 1; + let cost_per_item = 5; + let qty = item_quantity.parse::<i32>()?; + + Ok(qty * cost_per_item + processing_fee) +} + +// TODO: Fix the compiler error by changing the signature and body of the +// `main` function. fn main() { let mut tokens = 100; let pretend_user_input = "8"; @@ -21,14 +25,6 @@ fn main() { println!("You can't afford that many!"); } else { tokens -= cost; - println!("You now have {} tokens.", tokens); + println!("You now have {tokens} tokens."); } } - -pub fn total_cost(item_quantity: &str) -> Result<i32, ParseIntError> { - let processing_fee = 1; - let cost_per_item = 5; - let qty = item_quantity.parse::<i32>()?; - - Ok(qty * cost_per_item + processing_fee) -} |
