blob: 9670693e81ba9802dfb71aba4c74cd96a6688f74 (
plain) (
tree)
|
|
#[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);
}
|