Rustでベクター配列の検索処理を実装したときにちょっと戸惑ったので、メモしておきます。

広告

条件に一致する要素を含むかの判定

イテレータを取得し、anyメソッドを使います。

let vec: Vec<&str> = vec!["a","b","c"];
let a = &"a";
println!("{}",vec.iter().any(|e| e==a));

みたいな感じで、anyに検索条件を記したクロージャを突っ込むことで条件に一致する要素があるかどうかを判定できます。

条件に一致する要素を取得する

イテレータを取得し、findメソッドを使います。

let vec: Vec<&str> = vec![“a”,”b”,”c”];
let a = &”a”;
println!(“{}”,vec.iter().find(|e| e==&a);

こんな感じ。取得という性質上か、参照が結構アレになります。

その他

 イテレータっていろいろ便利だなと思いました。

広告

関連コンテンツと広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA