Rust ベクタ(可変配列)から条件を指定して値を抽出する

  • 作成日 2022.10.23
  • 更新日 2022.10.24
  • Rust
Rust ベクタ(可変配列)から条件を指定して値を抽出する

Rustで、ベクタ(可変配列)から条件を指定して値を抽出するサンプルコードを記述してます。Rustのバージョンは1.62.1を使用してます。ベクタに対して「retain」を使用して抽出します。

環境

  • OS windows11 home
  • rustc 1.62.1

ベクタ(可変配列)から条件を指定して値を抽出

ベクタ(可変配列)から条件を指定して値を抽出するには、「retain」を使用します。

ベクタ.retain(|s| 条件);

実際に使用して抽出してみます。

fn main() {

    let mut v = vec!["aaa", "bbb",  "bbb", "ccc", "aaa", "ccc"];
        
    v.retain(|s| (*s == "aaa".to_string()));

    println!("{:?}", v) // ["aaa", "aaa"]

}

実行結果を見ると、値が「aaa」のものだけで抽出されていることが確認できます。

条件に一致する値がなければ、空のベクタが返ります。

fn main() {

    let mut v = vec!["aaa", "bbb",  "bbb", "ccc", "aaa", "ccc"];
        
    v.retain(|s| (*s == "ddd".to_string()));

    println!("{:?}", v) // []

}