Enum values can contain futher values. Use pattern matching to access.
This commit is contained in:
parent
092e5693b7
commit
d5427c96ca
26
src/main.rs
26
src/main.rs
@ -1,21 +1,21 @@
|
|||||||
enum ColorSpace {
|
enum Color {
|
||||||
RGB,
|
RGB(f32, f32, f32),
|
||||||
RGBA,
|
RGBA(f32, f32, f32, f32),
|
||||||
CMYK,
|
CMYK(f32, f32, f32, f32),
|
||||||
YUV,
|
YUV(f32, f32, f32),
|
||||||
}
|
}
|
||||||
|
|
||||||
fn color_space_to_string(color_space: ColorSpace) -> String {
|
fn color_to_string(color: Color) -> String {
|
||||||
match color_space {
|
match color {
|
||||||
ColorSpace::RGB => String::from("RGB"),
|
Color::RGB(red, green, blue) => String::from("RGB"),
|
||||||
ColorSpace::RGBA => String::from("RGBA"),
|
Color::RGBA(red, green, blue, alpha) => String::from("RGBA"),
|
||||||
ColorSpace::CMYK => String::from("CMYK"),
|
Color::CMYK(cyan, magenta, yellow, key) => String::from("CMYK"),
|
||||||
ColorSpace::YUV => String::from("YUV"),
|
Color::YUV(y, u, v) => String::from("YUV"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let color_space = ColorSpace::RGB;
|
let color = Color::RGB(1.0, 0.0, 0.0);
|
||||||
|
|
||||||
println!("Color Space: {}", color_space_to_string(color_space));
|
println!("Color: {}", color_to_string(color));
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user