summaryrefslogtreecommitdiff
path: root/solutions
diff options
context:
space:
mode:
Diffstat (limited to 'solutions')
-rw-r--r--solutions/08_enums/enums2.rs27
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();
+ }
+}