structs and enums

This commit is contained in:
2026-01-16 08:20:49 +00:00
parent 2cd1c84285
commit 26f785a0ff
6 changed files with 23 additions and 19 deletions

View File

@@ -1,6 +1,10 @@
#[derive(Debug)]
enum Message {
// TODO: Define a few types of messages as used below.
Resize,
Move,
Echo,
ChangeColor,
Quit,
}
fn main() {

View File

@@ -6,7 +6,11 @@ struct Point {
#[derive(Debug)]
enum Message {
// TODO: Define the different variants used below.
Resize { width: u64, height: u64 },
Move(Point),
Echo(String),
ChangeColor(u8, u8, u8),
Quit,
}
impl Message {

View File

@@ -44,8 +44,13 @@ impl State {
}
fn process(&mut self, message: Message) {
// TODO: Create a match expression to process the different message
// variants using the methods defined above.
match message {
Message::Resize { width, height } => self.resize(width, height),
Message::Move(point) => self.move_position(point),
Message::Echo(string) => self.echo(string),
Message::Quit => self.quit(),
Message::ChangeColor(r, g, b) => self.change_color(r, g, b),
}
}
}