2017-07-27 5 views
3

ループを使用せずに、ベクトルの要素(例:[91, 55, 77, 91])を特定の値(例:91)でカウントするにはどうすればよいですか?ループしないでいくつかの値を持つベクトルの要素を数えるには?

あなたはそれを Iterator::filterを使用して、 countでき
fn count_eq(vec: &Vec<i64>, num: i64) -> i64 { 
    let mut counter = 0; 
    for i in vec { 
     if *i == num { 
      counter += 1; 
     } 
    } 
    return counter; 
} 

fn main() { 
    let v = vec![91, 55, 77, 91]; 
    println!("count 91: {}", count_eq(&v, 91)); 
} 
+5

(HTTPS ://stackoverflow.com/q/40006219/155423) – Shepmaster

答えて

9

:[?なぜそれが文字列(&文字列)への参照を受け入れるために推奨されたりVecと(&VEC)関数の引数として]

fn main() { 
    let v = vec![91, 55, 77, 91]; 
    println!("count 91: {}", v.iter().filter(|&n| *n == 91).count()); 
} 
関連する問題