summaryrefslogtreecommitdiffstats
path: root/src/doc/book/redirects/match.md
blob: fd28ba8dea7ff758946d02a5f898cd0cd0ed49d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
% Match

<small>There is a new edition of the book and this is an old link.</small>

> `match` allows us to compare a value against a series of patterns and then execute code based on which pattern matches.
> Patterns can be made up of literal values, variable names, wildcards, and many other things.

```rust
enum Coin {
    Penny,
    Nickel,
    Dime,
    Quarter,
}

fn value_in_cents(coin: Coin) -> u32 {
    match coin {
        Coin::Penny => 1,
        Coin::Nickel => 5,
        Coin::Dime => 10,
        Coin::Quarter => 25,
    }
}
```

---

Here are the relevant sections in the new and old books:

* **[in the current edition: Ch 6.02 — The `match` Control Flow Operator][2]**
* [in the current edition: Ch 18.00 — Patterns][3]
* <small>[In the first edition: Ch 3.14 — Match][1]</small>


[1]: https://doc.rust-lang.org/1.30.0/book/first-edition/match.html
[2]: ch06-02-match.html
[3]: ch18-00-patterns.html