【发布时间】:2023-01-05 15:47:39
【问题描述】:
在 Rust 中,我如何遍历除最后一个 n 元素之外的所有元素?
[0, 1, 2, 3, 4].iter().???(n)
与 Use all but the last element from an iterator 相似但不相同,后者实际上是关于匹配块大小。
【问题讨论】:
-
链接的问答在多大程度上不够,特别是接受的答案建议偷看下一个项目?
标签: rust
在 Rust 中,我如何遍历除最后一个 n 元素之外的所有元素?
[0, 1, 2, 3, 4].iter().???(n)
与 Use all but the last element from an iterator 相似但不相同,后者实际上是关于匹配块大小。
【问题讨论】:
标签: rust
fn print_elements_not_last_n(elems: &[i32], n: usize) {
for elem in elems.iter().take(elems.iter().count() - n) {
println!("{:?}", elem);
}
}
fn main() {
let elems: [i32; 5] = [0, 1, 2, 3, 4];
print_elements_not_last_n(&elems, 1);
println!();
print_elements_not_last_n(&elems, 2);
}
这打印
0
1
2
3
0
1
2
当然,这会迭代 Iterable 两次!
【讨论】: