小编abj*_*ror的帖子

在 `iter_mut().map(..)` 中修改 self,也就是可变函数集合操作

我如何转换这样的东西:

let mut a = vec![1, 2, 3, 4i32];
for i in a.iter_mut() {
    *i += 1;
}
Run Code Online (Sandbox Code Playgroud)

使用map和关闭的单行操作?

我试过:

a.iter_mut().map(|i| *i + 1).collect::<Vec<i32>>();
Run Code Online (Sandbox Code Playgroud)

以上仅在我将其重新分配给a. 为什么是这样?是否map正在获取副本a而不是可变引用?如果是这样,我怎样才能获得可变引用?

iterator rust

11
推荐指数
1
解决办法
3992
查看次数

标签 统计

iterator ×1

rust ×1