Rust におけるタプルの分解

RustRustBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL rust(("Rust")) -.-> rust/DataTypesGroup(["Data Types"]) rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust(("Rust")) -.-> rust/MemorySafetyandManagementGroup(["Memory Safety and Management"]) rust(("Rust")) -.-> rust/BasicConceptsGroup(["Basic Concepts"]) rust/BasicConceptsGroup -.-> rust/variable_declarations("Variable Declarations") rust/DataTypesGroup -.-> rust/string_type("String Type") rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") rust/MemorySafetyandManagementGroup -.-> rust/lifetime_specifiers("Lifetime Specifiers") subgraph Lab Skills rust/variable_declarations -.-> lab-99310{{"Rust におけるタプルの分解"}} rust/string_type -.-> lab-99310{{"Rust におけるタプルの分解"}} rust/function_syntax -.-> lab-99310{{"Rust におけるタプルの分解"}} rust/expressions_statements -.-> lab-99310{{"Rust におけるタプルの分解"}} rust/lifetime_specifiers -.-> lab-99310{{"Rust におけるタプルの分解"}} end

タプル

タプルは、以下のように 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でさらに多くの実験を練習することができます。