Rust におけるタプルの分解

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、Rust で match 文を使ってタプルを分解する方法を学びます。サンプルコードでは、タプルを分解するさまざまなパターンを示しており、特定の要素を抽出したり、特定の要素を無視したり、値が重要でないことを示すワイルドカード _ を使ったりします。

注: 実験でファイル名が指定されていない場合は、好きなファイル名を使うことができます。たとえば、main.rs を使って、rustc main.rs &&./main でコンパイルして実行することができます。

タプル

タプルは、以下のように match で分解できます。

fn main() {
    let triple = (0, -2, 3);
    // TODO ^ `triple` に対してさまざまな値を試してみる
    println!("Tell me about {:?}", triple);
    // タプルを分解するために `match` を使うことができます
    match triple {
        // 2 番目と 3 番目の要素を分解する
        (0, y, z) => println!("最初は `0`、`y` は {:?}、`z` は {:?}", y, z),
        (1,..)  => println!("最初は `1` で、それ以外は重要ではありません"),
        (.., 2)  => println!("最後は `2` で、それ以外は重要ではありません"),
        (3,.., 4)  => println!("最初は `3`、最後は `4`、それ以外は重要ではありません"),
        // `..` を使って、タプルの残りの部分を無視することができます
        _      => println!("それらが何であっても重要ではありません"),
        // `_` は、値を変数にバインドしないことを意味します
    }
}

まとめ

おめでとうございます!あなたはタプルの実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を練習することができます。