diff options
| author | Adam Carpenter <gitlab@53hor.net> | 2019-07-09 15:14:04 -0400 | 
|---|---|---|
| committer | Adam Carpenter <gitlab@53hor.net> | 2019-07-09 15:14:04 -0400 | 
| commit | 7e8ee5ed9cad6484e9f13f81731b102ced58402e (patch) | |
| tree | 5395402ab07bbb5a659dbd68c701e22a1227202f /rust-book/enums/src/main1.rs | |
| download | learning-rust-7e8ee5ed9cad6484e9f13f81731b102ced58402e.tar.xz learning-rust-7e8ee5ed9cad6484e9f13f81731b102ced58402e.zip | |
Init.
Diffstat (limited to 'rust-book/enums/src/main1.rs')
| -rwxr-xr-x | rust-book/enums/src/main1.rs | 48 | 
1 files changed, 48 insertions, 0 deletions
| 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); +} |