gpt4 book ai didi

loops - 如何在一个从索引i和i + 1取值的数组上创建迭代器?

转载 作者:行者123 更新时间:2023-12-03 11:33:20 27 4
gpt4 key购买 nike

我创建了一个在Rust游乐场中运行的小示例:

#[derive(Clone)]
pub struct Person {
pub firstname: Vec<u8>,
pub surname: Vec<u8>,
}

fn main() {
let p0 = Person {
firstname: vec![0u8; 5],
surname: vec![1u8; 5],
};
let p1 = Person {
firstname: vec![2u8; 7],
surname: vec![3u8; 2],
};
let p2 = Person {
firstname: vec![4u8; 8],
surname: vec![5u8; 8],
};
let p3 = Person {
firstname: vec![6u8; 3],
surname: vec![7u8; 1],
};

let people = [p0, p1, p2, p3];

for i in 0..people.len() {
if i + 1 < people.len() {
println!(
"{:?}",
(people[i].firstname.clone(), people[i + 1].surname.clone())
)
}
}
}

给定数组 people,我想对其元素进行迭代,并在索引 person处收集 i的名字和在索引 i+1处的人的姓氏的元组。这个简单的for循环可以完成这项工作,但让我们假设,我想将此类元组传递给某些函数 println,而不是 f。我可以在 for循环中轻松地做到这一点,但是我想了解是否可以使用迭代器 iter()(然后再根据需要应用 collect()fold函数)而不是 for循环来实现该功能?

最佳答案

关于loops - 如何在一个从索引i和i + 1取值的数组上创建迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59251605/

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