mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
rgb_match
Instructions
Implement the struct Color
with the function swap
.
This function must allow you to swap the values of the struct.
Notions
Expected functions
impl Color {
pub fn swap(mut self, first: u8, second: u8) -> Color {}
}
Usage
Here is a program to test your function.
use rgb_match::rgb_match;
struct Color {
r: u8,
g: u8,
b: u8,
a: u8,
}
fn main() {
let c = Color {
r: 255,
g: 200,
b: 10,
a: 30,
};
println!("{:?}", c.swap(c.r, c.b));
println!("{:?}", c.swap(c.r, c.g));
println!("{:?}", c.swap(c.r, c.a));
println!();
println!("{:?}", c.swap(c.g, c.r));
println!("{:?}", c.swap(c.g, c.b));
println!("{:?}", c.swap(c.g, c.a));
println!();
println!("{:?}", c.swap(c.b, c.r));
println!("{:?}", c.swap(c.b, c.g));
println!("{:?}", c.swap(c.b, c.a));
println!();
println!("{:?}", c.swap(c.a, c.r));
println!("{:?}", c.swap(c.a, c.b));
println!("{:?}", c.swap(c.a, c.g));
}
And its output
student@ubuntu:~/[[ROOT]]/test$ cargo run
Color { r: 10, g: 200, b: 255, a: 30 }
Color { r: 200, g: 255, b: 10, a: 30 }
Color { r: 30, g: 200, b: 10, a: 255 }
Color { r: 200, g: 255, b: 10, a: 30 }
Color { r: 255, g: 10, b: 200, a: 30 }
Color { r: 255, g: 30, b: 10, a: 200 }
Color { r: 10, g: 200, b: 255, a: 30 }
Color { r: 255, g: 10, b: 200, a: 30 }
Color { r: 255, g: 200, b: 30, a: 10 }
Color { r: 30, g: 200, b: 10, a: 255 }
Color { r: 255, g: 200, b: 30, a: 10 }
Color { r: 255, g: 30, b: 10, a: 200 }
student@ubuntu:~/[[ROOT]]/test$