From 7e8ee5ed9cad6484e9f13f81731b102ced58402e Mon Sep 17 00:00:00 2001
From: Adam Carpenter <gitlab@53hor.net>
Date: Tue, 9 Jul 2019 15:14:04 -0400
Subject: Init.

---
 rust-book/enums/src/main.rs  | 12 +++++++++++
 rust-book/enums/src/main1.rs | 48 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)
 create mode 100755 rust-book/enums/src/main.rs
 create mode 100755 rust-book/enums/src/main1.rs

(limited to 'rust-book/enums/src')

diff --git a/rust-book/enums/src/main.rs b/rust-book/enums/src/main.rs
new file mode 100755
index 0000000..b8c61de
--- /dev/null
+++ b/rust-book/enums/src/main.rs
@@ -0,0 +1,12 @@
+fn main() {
+    let some_u8_value = Some(3u8);
+//    match some_u8_value {
+//        Some(3) => println!("three"),
+//        _ => (),
+//    }
+
+    if let Some(3) = some_u8_value {
+        println!("three");
+    }
+
+}
diff --git a/rust-book/enums/src/main1.rs b/rust-book/enums/src/main1.rs
new file mode 100755
index 0000000..9670693
--- /dev/null
+++ b/rust-book/enums/src/main1.rs
@@ -0,0 +1,48 @@
+#[derive(Debug)]
+enum UsState {
+    NY,
+    VA,
+    NC,
+}
+
+enum Coin {
+    Penny,
+    Nickel,
+    Dime,
+    Quarter(UsState),
+}
+
+impl Coin {
+
+    fn value_in_cents(self) -> u32 {
+
+        match self {
+            Coin::Penny => {
+                println!("lucky penny");
+                1
+            },
+            Coin::Nickel => 5,
+            Coin::Dime => 10,
+            Coin::Quarter(state) => {
+                println!("State quarter from {:?}", state);
+                25
+            },
+
+        }
+
+    }
+}
+
+fn plus_one(x: Option<i32>) -> Option<i32> {
+    
+    match x {
+        None => None,
+        Some(i) => Some(i + 1),
+    }
+}
+
+fn main() {
+    let five = Some(5);
+    let six = plus_one(five);
+    let none = plus_one(None);
+}
-- 
cgit v1.2.3