mirror of https://github.com/01-edu/public.git
Michele Sessa
2 years ago
committed by
Michele
1 changed files with 76 additions and 0 deletions
@ -0,0 +1,76 @@ |
|||||||
|
## format_me |
||||||
|
|
||||||
|
### Instructions |
||||||
|
|
||||||
|
In this exercise you will implement the trait `Display` for the structure `Park` and the enum `ParkType`. |
||||||
|
|
||||||
|
Here are the public fields and possible variants for the two types: |
||||||
|
|
||||||
|
- `Park`: |
||||||
|
- `name` as `String` |
||||||
|
- `park_type` as `ParkType` |
||||||
|
- `address` as `String` |
||||||
|
- `cap` as `String` |
||||||
|
- `state` as `String` |
||||||
|
- `ParkType`: |
||||||
|
- `Garden` |
||||||
|
- `Forest` |
||||||
|
- `Playground` |
||||||
|
|
||||||
|
### Expected Functions and Structures |
||||||
|
|
||||||
|
```rust |
||||||
|
use std::fmt; |
||||||
|
|
||||||
|
pub struct Park {} |
||||||
|
|
||||||
|
pub enum ParkType {} |
||||||
|
|
||||||
|
impl fmt::Display for Park { |
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {} |
||||||
|
} |
||||||
|
|
||||||
|
impl fmt::Display for ParkType { |
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {} |
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
|
### Usage |
||||||
|
|
||||||
|
Here is a program to test your function: |
||||||
|
|
||||||
|
```rust |
||||||
|
use format_me::*; |
||||||
|
|
||||||
|
fn main() { |
||||||
|
println!( |
||||||
|
"{}", |
||||||
|
Park { |
||||||
|
name: "Les Tuileries".to_string(), |
||||||
|
park_type: ParkType::Garden, |
||||||
|
address: "Pl. de la Concorde".to_string(), |
||||||
|
cap: "75001".to_string(), |
||||||
|
state: "France".to_string() |
||||||
|
} |
||||||
|
); |
||||||
|
println!( |
||||||
|
"{}", |
||||||
|
Park { |
||||||
|
name: "".to_string(), |
||||||
|
park_type: ParkType::Playground, |
||||||
|
address: "".to_string(), |
||||||
|
cap: "".to_string(), |
||||||
|
state: "".to_string() |
||||||
|
} |
||||||
|
); |
||||||
|
} |
||||||
|
``` |
||||||
|
|
||||||
|
And its output |
||||||
|
|
||||||
|
```console |
||||||
|
$ cargo run |
||||||
|
garden - Les Tuileries, Pl. de la Concorde, 75001 - France |
||||||
|
playground - No name, No address, No cap - No state |
||||||
|
$ |
||||||
|
``` |
Loading…
Reference in new issue