gpt4 book ai didi

rust - 根据某些条件从 Vec 中删除元素

转载 作者:行者123 更新时间:2023-11-29 08:20:53 32 4
gpt4 key购买 nike

<分区>

我的代码是这样的:

struct Bar {
i: i32,
}

struct Foo {
v: Vec<Bar>,
}

impl Foo {
fn foo(&mut self) {
self.v.drain(self.v.iter().filter(|b| b.i < 10));
}
}

请注意,Bar 不允许被复制或克隆。

我想删除所有不满足该条件的 Bar。最初我以为我可以迭代它们并调用 remove 但我不允许有两个可变借用或一个可变借用,如果有一个完全有意义的不可变借用。

我想最简单的事情就是clonefiltercollect,但我不允许克隆或复制。

我该怎么做?

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