2025年6月8日

前回はRustの基礎(2)として数値型、実数型を確認しました。

今回はタプル型、配列について確認していきましょう。

タプル型

複数の値を1つのデータ構造にまとめて扱うための型です。異なる方の値をまとめることで一つのコレクションとしてまとめることが可能になります。

これからお話する配列と似ていますが、要素の型が違ってもOKであり、異なる型をまとめるのに適しています。

例)

let tuple: (i32, f64, &str) = (42, 3.14, "Hello");

println!(”整数 {}, 浮動小数点数 {}, 文字列 {}”, tuple.0, tuple.1, tuple.2); // 整数: 42, 浮動小数点: 3.14, 文字列: Hello

要素を取り出すには、変数に.インデックス番号 を付けることで取り出すことが可能です。存在しないインデックス番号を指定すると、まぁ当たり前ですがエラーになるので注意してください。

ただし変数が同じ内容でも順番が違う場合、別のタプル型だと判定されます。

例)

let tuple: (i32, f64, &str) = (42, 3.14, "Hello");

let tuple: (i32, &str, f64) = (42, "Hello", 3.14); // 中身は同じに見えるが、並びが違うので上記とは別物として扱う

タプル型はそれぞれの値を分割して個別に変数に格納することも可能です。

例) let tuple = (100, 6.28, "Rust"); let (x, y, z) = tuple; println!("x: {}, y: {}, z: {}", x, y, z); //  x: 100, y: 6.28, z: Rust

上記ではすべての値を変数へ格納していますが、格納したくない値がある場合_ とすることでその値を無視することができます。