Progrust Library.

// dictionary

パターンマッチング(Pattern Matching).

パターンマッチング(Pattern Matching)

Rustのパターンマッチングは、値の構造に基づいて異なる処理を実行する仕組みです。Option 型Result 型と組み合わせることで、安全なエラーハンドリングが実現できます。

match式

fn main() {
    let number = 42;
    match number {
        1 | 2 | 3 => println!("小さい数字"),
        42 => println!("答えは42!"),
        _ => println!("その他"),
    }
}

Enum のパターンマッチング

enum Message {
    Quit,
    Move { x: i32, y: i32 },
    Write(String),
}

fn process(msg: Message) {
    match msg {
        Message::Quit => println!("終了"),
        Message::Move { x, y } => println!("({}, {}) に移動", x, y),
        Message::Write(text) => println!("テキスト: {}", text),
    }
}
ifletとのmatch

複数のパターンではなく1つだけチェックする場合、if let が便利です:

if let Message::Write(text) = msg {
    println!("{}", text);
}

詳細はOption 型を参照してください。