summaryrefslogtreecommitdiff
path: root/enums
diff options
context:
space:
mode:
authorAdam Carpenter <adam.carpenter@adp.com>2019-02-11 16:59:01 -0500
committerAdam Carpenter <adam.carpenter@adp.com>2019-02-11 16:59:01 -0500
commitef1bf4921ee4127d461eec03a14c9070d193345c (patch)
treeab9f4ed73fcf97656743c959ce8c9adbe2ce9924 /enums
downloadlearning-rust-ef1bf4921ee4127d461eec03a14c9070d193345c.tar.xz
learning-rust-ef1bf4921ee4127d461eec03a14c9070d193345c.zip
Init.
Diffstat (limited to 'enums')
-rwxr-xr-xenums/.gitignore2
-rwxr-xr-xenums/Cargo.lock4
-rwxr-xr-xenums/Cargo.toml7
-rwxr-xr-xenums/src/main.rs12
-rwxr-xr-xenums/src/main1.rs48
5 files changed, 73 insertions, 0 deletions
diff --git a/enums/.gitignore b/enums/.gitignore
new file mode 100755
index 0000000..53eaa21
--- /dev/null
+++ b/enums/.gitignore
@@ -0,0 +1,2 @@
+/target
+**/*.rs.bk
diff --git a/enums/Cargo.lock b/enums/Cargo.lock
new file mode 100755
index 0000000..d3577dd
--- /dev/null
+++ b/enums/Cargo.lock
@@ -0,0 +1,4 @@
+[[package]]
+name = "enums"
+version = "0.1.0"
+
diff --git a/enums/Cargo.toml b/enums/Cargo.toml
new file mode 100755
index 0000000..99fb9fc
--- /dev/null
+++ b/enums/Cargo.toml
@@ -0,0 +1,7 @@
+[package]
+name = "enums"
+version = "0.1.0"
+authors = ["Adam Carpenter <carpenat@ES.AD.ADP.COM>"]
+edition = "2018"
+
+[dependencies]
diff --git a/enums/src/main.rs b/enums/src/main.rs
new file mode 100755
index 0000000..b8c61de
--- /dev/null
+++ b/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/enums/src/main1.rs b/enums/src/main1.rs
new file mode 100755
index 0000000..9670693
--- /dev/null
+++ b/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);
+}