rust
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| rust [2024/07/11 20:41] – [Enums] utedass | rust [2024/07/11 20:46] (current) – [Matching] utedass | ||
|---|---|---|---|
| Line 231: | Line 231: | ||
| ==== Matching ==== | ==== Matching ==== | ||
| <code rust> | <code rust> | ||
| + | enum UsState { | ||
| + | Alabama, | ||
| + | Alaska, | ||
| + | // --snip-- | ||
| + | } | ||
| + | |||
| enum Coin { | enum Coin { | ||
| Penny, | Penny, | ||
| Nickel, | Nickel, | ||
| Dime, | Dime, | ||
| - | Quarter, | + | Quarter(UsState), |
| } | } | ||
| fn value_in_cents(coin: | fn value_in_cents(coin: | ||
| match coin { | match coin { | ||
| - | Coin::Penny => { | + | Coin::Penny => 1, |
| - | println!(" | + | |
| - | | + | |
| - | } | + | |
| Coin:: | Coin:: | ||
| Coin::Dime => 10, | Coin::Dime => 10, | ||
| - | Coin:: | + | Coin:: |
| + | println!(" | ||
| + | 25 | ||
| + | } | ||
| } | } | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | Can match integers as well | ||
| + | <code rust> | ||
| + | let dice_roll = 9; | ||
| + | match dice_roll { | ||
| + | 3 => add_fancy_hat(), | ||
| + | 7 => remove_fancy_hat(), | ||
| + | other => move_player(other), | ||
| + | } | ||
| + | |||
| + | fn add_fancy_hat() {} | ||
| + | fn remove_fancy_hat() {} | ||
| + | fn move_player(num_spaces: | ||
| </ | </ | ||
rust.1720730465.txt.gz · Last modified: 2024/07/11 20:41 by utedass
