diff options
Diffstat (limited to 'rustlings/exercises/08_enums/enums2.rs')
| -rw-r--r-- | rustlings/exercises/08_enums/enums2.rs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/rustlings/exercises/08_enums/enums2.rs b/rustlings/exercises/08_enums/enums2.rs new file mode 100644 index 0000000..d70f639 --- /dev/null +++ b/rustlings/exercises/08_enums/enums2.rs @@ -0,0 +1,33 @@ +#[derive(Debug)] +struct Point { + x: u64, + y: u64, +} + +#[derive(Debug)] +enum Message { + // TODO: Define the different variants used below. +} + +impl Message { + fn call(&self) { + println!("{self:?}"); + } +} + +fn main() { + let messages = [ + Message::Resize { + width: 10, + height: 30, + }, + Message::Move(Point { x: 10, y: 15 }), + Message::Echo(String::from("hello world")), + Message::ChangeColor(200, 255, 255), + Message::Quit, + ]; + + for message in &messages { + message.call(); + } +} |