[Rust]Vec(ベクタ)のインデックスの値を取得するには?

Rust

どうも、ちょげ(@chogetarou)です。

Vec(ベクタ)のインデックス(index)の値(value)を取得する方法を紹介します。

スポンサーリンク

方法

Vec(ベクタ)のインデックス(index)の値(value)を取得する方法は、2つあります。

[]

ひとつは、[]を使う方法です。

まず、「vect[]」のように、Vec(ベクタ)と[]を記述します。

そして、[]内にインデックスを指定します。

//vect=対象のベクタ, index=インデックス
let value = vect[index];

上記の[]は、Vec(ベクタ)の指定されたインデックスの値を取得します。

[]は、存在しないインデックスを指定した際、パニックを起こします。

使用例

fn main(){
    let num = vec![1, 2, 3, 4, 5];
    
    let index = 3;
    let value = num[index];
    
    println!("{:?}", value);
}
出力:
4

get()

もうひとつは、get()を使う方法です。

まず、Vec(ベクタ)からget()を呼び出します。

そして、get()の引数にインデックスを指定します。

//vect=対象のベクタ, index=インデックス
let value = vect.get(index);

上記のget()は、Vec(ベクタ)の指定されたインデックスの値をSome()で取得します。

もし、指定されたインデックスが存在しない場合は、get()はNoneを返します。

Some()を通常の値にする際は、get()の結果からunwrap()を呼び出します。

//Some()を通常の値に
let value = vect.get(index).unwrap();

使用例

fn main(){
    let num = vec![1, 2, 3, 4, 5];
    
    let index = 3;
    let value = num.get(index);
    
    println!("{:?}", value);
}
出力:
Some(4)

まとめ

Vec(ベクタ)のインデックス(index)の値(value)を取得する方法は、次の2つです。

  • []を使う方法
    let value = vect[index];
  • 範囲指定ありで乱数を生成する方法
    let value = vect.get(index);

コメント

タイトルとURLをコピーしました