From 8654e318a71a7f427ff0a751edc5add5c466513c Mon Sep 17 00:00:00 2001 From: blacktoast Date: Fri, 8 Oct 2021 08:13:34 +0000 Subject: [PATCH] =?UTF-8?q?=ED=91=B8=EB=8A=94=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- exercises/enums/enums1.rs | 1 - exercises/enums/enums2.rs | 3 --- exercises/enums/enums3.rs | 19 +++++++++++++++++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/exercises/enums/enums1.rs b/exercises/enums/enums1.rs index bc2096d8..9fa98592 100644 --- a/exercises/enums/enums1.rs +++ b/exercises/enums/enums1.rs @@ -1,7 +1,6 @@ // enums1.rs // Make me compile! Execute `rustlings hint enums1` for hints! -// I AM NOT DONE #[derive(Debug)] enum Message { diff --git a/exercises/enums/enums2.rs b/exercises/enums/enums2.rs index 4da406fc..2ad505da 100644 --- a/exercises/enums/enums2.rs +++ b/exercises/enums/enums2.rs @@ -1,7 +1,6 @@ // enums2.rs // Make me compile! Execute `rustlings hint enums2` for hints! -// I AM NOT DONE #[derive(Debug)] enum Message { @@ -13,8 +12,6 @@ enum Message { } - - impl Message { fn call(&self) { println!("{:?}", &self); diff --git a/exercises/enums/enums3.rs b/exercises/enums/enums3.rs index 178b40c4..73cbec70 100644 --- a/exercises/enums/enums3.rs +++ b/exercises/enums/enums3.rs @@ -2,16 +2,23 @@ // Address all the TODOs to make the tests pass! // I AM NOT DONE - +#[derive(Debug)] enum Message { // TODO: implement the message variant types based on their usage below -} + ChangeColor((u8,u8,u8)), + Echo(String), + Move(Point), + Quit, + +} +#[derive(Debug)] struct Point { x: u8, y: u8, } +#[derive(Debug)] struct State { color: (u8, u8, u8), position: Point, @@ -37,6 +44,14 @@ impl State { fn process(&mut self, message: Message) { // TODO: create a match expression to process the different message variants + println!("{:?}",message); + match message { + Message::ChangeColor((a,b,c))=>{ + self.color=(a,b,c); + }, + Message::Move(Point)=>(), + _=>(), + } } }