87 lines
1.4 KiB
Rust
87 lines
1.4 KiB
Rust
#[derive(Debug)]
|
|
enum UsState {
|
|
Alabama,
|
|
Alaska,
|
|
Arizona,
|
|
Arkansas,
|
|
California,
|
|
Colorado,
|
|
Connecticut,
|
|
Delaware,
|
|
DC,
|
|
Florida,
|
|
Georgia,
|
|
Hawaii,
|
|
Idaho,
|
|
Illinois,
|
|
Indiana,
|
|
Iowa,
|
|
Kansas,
|
|
Kentucky,
|
|
Louisiana,
|
|
Maine,
|
|
Maryland,
|
|
Massachusetts,
|
|
Michigan,
|
|
Minnesota,
|
|
Mississippi,
|
|
Missouri,
|
|
Montana,
|
|
Nebraska,
|
|
Nevada,
|
|
NewHampshire,
|
|
NewJersey,
|
|
NewMexico,
|
|
NewYork,
|
|
NorthCarolina,
|
|
NorthDakota,
|
|
Ohio,
|
|
Oklahoma,
|
|
Oregon,
|
|
Pennsylvania,
|
|
RhodeIsland,
|
|
SouthCarolina,
|
|
SouthDakota,
|
|
Tennessee,
|
|
Texas,
|
|
Utah,
|
|
Vermont,
|
|
Virginia,
|
|
Washington,
|
|
WestVirginia,
|
|
Wisconsin,
|
|
Wyoming
|
|
}
|
|
|
|
enum Coin {
|
|
Penny,
|
|
Nickel,
|
|
Dime,
|
|
Quarter(UsState),
|
|
}
|
|
|
|
fn value_in_cents(coin: Coin) -> u8 {
|
|
match coin {
|
|
Coin::Penny => {
|
|
1
|
|
}
|
|
Coin::Nickel => 5,
|
|
Coin::Dime => 10,
|
|
Coin::Quarter(state) => {
|
|
println!("State quarter from {:?}!", state);
|
|
25
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
fn main() {
|
|
println!("Hello, world!");
|
|
let v: u8 = value_in_cents(Coin::Dime);
|
|
let s: String = v.to_string();
|
|
println!("{}", s);
|
|
let vq: u8 = value_in_cents(Coin::Quarter(UsState::NewHampshire));
|
|
let sq: String = vq.to_string();
|
|
println!("{}", sq);
|
|
}
|