检查 Rust HashMap 中是否有任何值大于零

Check if any value in a Rust HashMap is greater than zero

我想检查 HashMap<i32, i32> 是否包含任何大于零的值。我有这个代码:

let has_demand = minimums.iter().any(|*x| x > 0)

失败了。问题出在 |*x|,但我不知道该放什么。

语法错误。您应该使用 &x,这是一个引用(而不是 *x,这是一个取消引用)。

它是一个 HashMap(不是 Vec),因此要检查值,您需要遍历这些值(而不是整个 HashMap)。

示例代码:

let value_exists = hashmap.values().any(|&x| x > 0);

请查看文档:

正确答案是

let has_demand = minimums.values().any(|&x| x > 0);