let mut map: HashMap<&str, u32> = HashMap::new();
for (i, c) in text.chars().enumerate() {
if map.contains_key(&c) {
// Do something
}
}
std::borrow::Borrow<char>
未实现特征&str
我需要解释此错误以及如何解决该错误。我正在遍历文本中的每个字符,并将哈希图中尚未存在的字符插入到哈希图中。但是我仍然收到如上所述的错误。
答案 0 :(得分:1)
chars
是Iterator
的{{1}},因此您的Item = char
与之不兼容。
HashMap<&str, u32>
是一个字符串切片(本质上是一个字符序列),而&str
是单个字符。
您必须决定:
char
应该真正从map
映射到&str
吗?还是可能来自u32
?还是可能来自char
?&char
,则必须将&str
的元素转换为chars
。