diff options
| author | Thomas Holloway <nyxtom@gmail.com> | 2019-10-28 22:49:49 -0500 |
|---|---|---|
| committer | Thomas Holloway <nyxtom@gmail.com> | 2019-10-28 22:49:49 -0500 |
| commit | dc15032112fc485226a573a18139e5ce928b1755 (patch) | |
| tree | 9a54577ded6adb2dc67df6b9f6e0980008cf817e /exercises/enums/enums2.rs | |
| parent | 2191ef7eee2f0d7bb006d2174ba5bdd4057fd3c4 (diff) | |
feat: Add enums exercises
Diffstat (limited to 'exercises/enums/enums2.rs')
| -rw-r--r-- | exercises/enums/enums2.rs | 61 |
1 files changed, 61 insertions, 0 deletions
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 |
