summaryrefslogtreecommitdiffstats
path: root/examples/08_enum-custom.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/08_enum-custom.rs')
-rw-r--r--examples/08_enum-custom.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/08_enum-custom.rs b/examples/08_enum-custom.rs
new file mode 100644
index 0000000..48d3691
--- /dev/null
+++ b/examples/08_enum-custom.rs
@@ -0,0 +1,21 @@
+enum Color {
+ Red,
+ Green,
+ Blue,
+ Custom(int, int, int),
+}
+
+fn print_color (c: Color) {
+ match c {
+ Red => println!("#ff0000"),
+ Green => println!("#00ff00"),
+ Blue => println!("#0000ff"),
+ Custom(r, g, b) => println!("#{:02x}{:02x}{:02x}", r, g, b),
+ }
+}
+
+fn main () {
+ print_color(Red);
+ print_color(Custom(0x12, 0x45, 0xba));
+}
+