gpt4 book ai didi

rust - 如何为 Iterator::filter_map 指定类型信息?

转载 作者:行者123 更新时间:2023-11-29 08:12:38 30 4
gpt4 key购买 nike

fn main() {
let a = ["1", "2", "lol"];
let cnt = a.iter().filter_map(|s| s.parse().ok()).count();
}

错误信息

<anon>:3:24: 3:34 error: unable to infer enough type information about `_`; type annotations or generic parameter binding required [E0282]

<anon>:3 let cnt = a.iter().filter_map(|s| s.parse().ok()).count();
^~~~~~~~~~

我试图为 filter_map() 指定类型,但没有成功。如果可能的话,我还想知道为什么如果我删除 count() 方法编译器不会报错。

最佳答案

编译器不知道解析的结果类型,因为您编写代码的方式可以适用于任何类型。您需要特别注释此方法调用:s.parse::<i32>().ok()

关于rust - 如何为 Iterator::filter_map 指定类型信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400139/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com