gpt4 book ai didi

rust - 如何在不使用克隆的情况下迭代向量并比较元素以防止借用错误

转载 作者:行者123 更新时间:2023-11-29 08:26:13 25 4
gpt4 key购买 nike

这是我的工作代码,其中 thingsVec<[u8 ; 32]>

let t_copy = tx.things.clone();

for (index, value) in tx.things.into_iter().enumerate() {
if tx.id == value {
return Err(CustomError);
}
if t_copy[index].max(t_copy[index+1]) == t_copy[index] {
return Err(CustomError);
}

}

我使用 into_iter而不是 iter当我比较这里的值时:tx.id == tx_parent

上面的工作但只是因为我首先克隆了载体,这对我来说似乎并不理想。有没有更好的方法来实现我的目标?没有克隆。

上述代码的目的是检查元素是否按一定顺序排列。

最佳答案

使用iter , 不是 into_iter ,前者返回通过借用现有向量迭代现有向量的迭代器,后者消耗数据 - 获取对象的所有权,并直接将其变成迭代器,这不是你想要的。

关于rust - 如何在不使用克隆的情况下迭代向量并比较元素以防止借用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57339599/

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