Rust ベクタ(可変配列)の値から後方が一致する配列以外を抽出する

  • 作成日 2022.08.22
  • 更新日 2022.12.03
  • Rust
Rust ベクタ(可変配列)の値から後方が一致する配列以外を抽出する

Rustで、ベクタ(可変配列)の値から後方が一致する配列以外を抽出するサンプルコードを記述してます。Rustのバージョンは1.62.1を使用してます。

環境

  • OS windows11 home
  • rustc 1.62.1

後方が一致する配列以外を抽出

後方が一致する配列以外を抽出するには、「strip_suffix()」を使用します。

ベクタ.strip_suffix(&配列);

実際に使用してみます。

fn main() {

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

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

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

    println!("{:?}", v.strip_suffix(&[2, 3]) );
    // None

}

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

空の配列

空の配列に使用すると、値を指定すると「None」が返り、空の配列だと「空」が返ります。

fn main() {

    let v = vec![0; 0];

    println!("{:?}", v.strip_suffix(&[1, 2]) );
    // None

    println!("{:?}", v.strip_suffix(&[0; 0]) );
    // Some([])

}

実行結果