检查 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);
我想检查 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);