mirror of
https://github.com/ahgamut/rust-ape-example.git
synced 2024-05-15 10:02:42 +00:00
38 lines
939 B
Rust
38 lines
939 B
Rust
// ./src/flow_control/match.md
|
|
|
|
|
|
fn part0() {
|
|
let number = 13;
|
|
// TODO ^ Try different values for `number`
|
|
|
|
println!("Tell me about {}", number);
|
|
match number {
|
|
// Match a single value
|
|
1 => println!("One!"),
|
|
// Match several values
|
|
2 | 3 | 5 | 7 | 11 => println!("This is a prime"),
|
|
// TODO ^ Try adding 13 to the list of prime values
|
|
// Match an inclusive range
|
|
13..=19 => println!("A teen"),
|
|
// Handle the rest of cases
|
|
_ => println!("Ain't special"),
|
|
// TODO ^ Try commenting out this catch-all arm
|
|
}
|
|
|
|
let boolean = true;
|
|
// Match is an expression too
|
|
let binary = match boolean {
|
|
// The arms of a match must cover all the possible values
|
|
false => 0,
|
|
true => 1,
|
|
// TODO ^ Try commenting out one of these arms
|
|
};
|
|
|
|
println!("{} -> {}", boolean, binary);
|
|
}
|
|
|
|
pub fn main() {
|
|
part0();
|
|
}
|
|
|