diff options
Diffstat (limited to 'solutions/08_enums')
| -rw-r--r-- | solutions/08_enums/enums2.rs | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/solutions/08_enums/enums2.rs b/solutions/08_enums/enums2.rs index 4e18198..13175dd 100644 --- a/solutions/08_enums/enums2.rs +++ b/solutions/08_enums/enums2.rs @@ -1 +1,26 @@ -// Solutions will be available before the stable release. Thank you for testing the beta version 🥰 +#[derive(Debug)] +enum Message { + Move { x: i64, y: i64 }, + Echo(String), + ChangeColor(u8, u8, u8), + Quit, +} + +impl Message { + fn call(&self) { + println!("{:?}", self); + } +} + +fn main() { + let messages = [ + Message::Move { x: 10, y: 30 }, + Message::Echo(String::from("hello world")), + Message::ChangeColor(200, 255, 255), + Message::Quit, + ]; + + for message in &messages { + message.call(); + } +} |
