From dc15032112fc485226a573a18139e5ce928b1755 Mon Sep 17 00:00:00 2001 From: Thomas Holloway Date: Mon, 28 Oct 2019 22:49:49 -0500 Subject: feat: Add enums exercises --- exercises/enums/enums2.rs | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 exercises/enums/enums2.rs (limited to 'exercises/enums/enums2.rs') diff --git a/exercises/enums/enums2.rs b/exercises/enums/enums2.rs new file mode 100644 index 0000000..71ac839 --- /dev/null +++ b/exercises/enums/enums2.rs @@ -0,0 +1,61 @@ +// enums2.rs +// Make me compile! Scroll down for hints + +#[derive(Debug)] +enum Message { + // TODO: define the different variants used below +} + +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(); + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// Hint: you can create enumerations that have different variants with different types +// such as no data, anonymous structs, a single string, tuples, ...etc -- cgit v1.2.3