代码大概是这样的:
fn fxxk()->Result<HashMap<String,String>> {
list.map(|item|{
//这儿是把item转换为一个二元组,但是可能会出错,如何在出错之后终止迭代并返回Result<_>
}).collect()
}
可以不用循环吗?
1
共 4 条评论, 1 页
代码大概是这样的:
fn fxxk()->Result<HashMap<String,String>> {
list.map(|item|{
//这儿是把item转换为一个二元组,但是可能会出错,如何在出错之后终止迭代并返回Result<_>
}).collect()
}
可以不用循环吗?
评论区
写评论多谢,文档看得不够认真 对以下内容的回复:
多谢大佬。 对以下内容的回复:
https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.collect
用std::iter::Iterator 迭代器 trait的的take_while()函数
take_while() takes a closure as an argument. It will call this closure on each element of the iterator, and yield elements while it returns true.
After false is returned, take_while()'s job is over, and the rest of the elements are ignored.
简单的说,这个函数当里面的闭包结果为false时终止迭代。