match - Rust By Example
Description: Rust by Example (RBE) is a collection of runnable examples that illustrate various Rust concepts and standard libraries.

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# match

Rustは`match`を用いて、C言語における`switch`のようなパターンマッチングを行うことができます。マッチする最初のアームが評価され、取りうるすべての値はカバーされていなければなりません。

    fn main() {
        let number = 13;
        // TODO ^ `number` の値を変えて試してみましょう。

        println!("Tell me about {}", number);
        match number {
            // 単一の値とのマッチをチェック。
            1 => println!("One!"),
            // いくつかの値とのマッチをチェック。
            2 | 3 | 5 | 7 | 11 => println!("This is a prime"),
            // TODO ^ 素数のリストに13を加えてみましょう。
            // 特定の範囲の値とのマッチをチェック。
            13..=19 => println!("A teen"),
            // その他の場合の処理
            _ => println!("Ain't special"),
            // TODO ^ この全てをキャッチするアームをコメントアウトしてみましょう。
        }

        let boolean = true;
        // マッチは式でもあります。
        let binary = match boolean {
            // マッチは全ての可能な値をカバーしなくてはなりません。
            false => 0,
            true => 1,
            // TODO ^ 試しに片方をコメントアウトしてみましょう。
        };

        println!("{} -> {}", boolean, binary);
    }