Rust ベクタ(可変配列)の前方から指定した数だけ除いた値を取得する

Rust ベクタ(可変配列)の前方から指定した数だけ除いた値を取得する

Rustで、ベクタ(可変配列)の前方から指定した数だけ除いた値を取得するサンプルコードを記述してます。「get」に除きたい数を指定することで可能です。Rustのバージョンは1.66.0を使用してます。

環境

  • OS windows11 home
  • rustc 1.66.0

ベクタ(可変配列)の前方から指定した数だけ除いた値を取得

ベクタ(可変配列)の前方から指定した数だけ除いた値を取得するには、「get」を使用します。

ベクタ.get(除外する数..);

実際に使用してみます。

fn main() {

    let v = vec![ 1, 2, 3, 4, 5 ];    

    println!("{:?}", v.get(1..)); // Some([2, 3, 4, 5])
    println!("{:?}", v.get(2..)); // Some([3, 4, 5])
    println!("{:?}", v.get(3..)); // Some([4, 5])

}

実行結果を見ると、除外されていることが確認できます。

最大値を超える

最大値を超えると「None」が返ります。

fn main() {

    let v = vec![ 1, 2, 3, 4, 5 ];    

    println!("{:?}", v.get(6..)); // None

}

skipを使用

「skip」を使用する方法もあります。

fn main() {

    let v = vec![ 1, 2, 3, 4, 5 ];

    println!("{:?}",v.iter().skip(1).collect::<Vec<_>>()); // [2, 3, 4, 5]
    println!("{:?}",v.iter().skip(2).collect::<Vec<_>>()); // [3, 4, 5]
    println!("{:?}",v.iter().skip(3).collect::<Vec<_>>()); // [4, 5]

    println!("{:?}", v); // [1, 2, 3, 4, 5]

}