mirror of
https://github.com/notohh/rustlings.git
synced 2025-06-28 05:47:42 -04:00
structs3 solution
This commit is contained in:
parent
1264510fc0
commit
d6fd251a73
3 changed files with 101 additions and 18 deletions
exercises/07_structs
|
@ -1,6 +1,5 @@
|
|||
// Structs contain data, but can also have logic. In this exercise we have
|
||||
// defined the Package struct and we want to test some logic attached to it.
|
||||
// Make the code compile and the tests pass!
|
||||
// defined the `Package` struct and we want to test some logic attached to it.
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Package {
|
||||
|
@ -10,26 +9,28 @@ struct Package {
|
|||
}
|
||||
|
||||
impl Package {
|
||||
fn new(sender_country: String, recipient_country: String, weight_in_grams: u32) -> Package {
|
||||
fn new(sender_country: String, recipient_country: String, weight_in_grams: u32) -> Self {
|
||||
if weight_in_grams < 10 {
|
||||
// This is not how you should handle errors in Rust,
|
||||
// but we will learn about error handling later.
|
||||
panic!("Can not ship a package with weight below 10 grams.")
|
||||
} else {
|
||||
Package {
|
||||
sender_country,
|
||||
recipient_country,
|
||||
weight_in_grams,
|
||||
}
|
||||
// This isn't how you should handle errors in Rust, but we will
|
||||
// learn about error handling later.
|
||||
panic!("Can't ship a package with weight below 10 grams");
|
||||
}
|
||||
|
||||
Self {
|
||||
sender_country,
|
||||
recipient_country,
|
||||
weight_in_grams,
|
||||
}
|
||||
}
|
||||
|
||||
fn is_international(&self) -> ??? {
|
||||
// Something goes here...
|
||||
// TODO: Add the correct return type to the function signature.
|
||||
fn is_international(&self) {
|
||||
// TODO: Read the tests that use this method to find out when a package is concidered international.
|
||||
}
|
||||
|
||||
fn get_fees(&self, cents_per_gram: u32) -> ??? {
|
||||
// Something goes here...
|
||||
// TODO: Add the correct return type to the function signature.
|
||||
fn get_fees(&self, cents_per_gram: u32) {
|
||||
// TODO: Calculate the package's fees.
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue