rustで文字列に含まれる各文字の数が奇数の物の数を求める関数を作りました。
コードは以下の通りです。
rust
1fn count_odd_chars(s: &str) -> usize { 2 let mut map: HashMap<char, i32> = HashMap::new(); 3 for ch in s.chars() { 4 *map.entry(ch).or_insert(0) += 1; 5 } 6 map.values() 7 .filter(|val| *val % 2 == 1) 8 .count() 9}
この関数を書いてるときに。
rust
1.filter(|val| val % 2 == 1)
と書いたところエラーになりました。
エラー文から推測して「*」を付けたらエラーが消えて実行可能になったのですが、
なぜこれでいいのか、なぜつけないとエラーになるのかよくわかりません。
理由がわかりましたらお教え願いませんでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。