tl;dr rust 迭代器方法
skip_while
在第一次失败的测试后停止跳过元素(始终返回元素)。如何继续跳过(即不“关闭”跳过)?
skip_while()
文档阅读
将闭包作为参数。它将在迭代器的每个元素上调用此闭包,并忽略元素,直到返回skip_while()
。false
返回
后,false
的工作就结束了,剩下的元素也被yield了。skip_while()
看到
skip_while
后我希望false
的“工作还没有结束”。使用迭代器来完成此任务的质朴方法是什么?
例如,这段代码
fn main() {
let lines = [
"",
"a",
"",
"b",
"",
"c",
];
for line in lines.iter().skip_while(|x| x.is_empty()) {
println!("line is {:?}, {:?}", line, line.is_empty());
}
}
打印
line is "a", false
line is "", true
line is "b", false
line is "", true
line is "c", false
我想要打印的代码
line is "a", false
line is "b", false
line is "c", false
如何使用迭代器和迭代过滤器来做到这一点?