相关疑难解决方法(0)

iter和into_iter有什么区别?

我正在做Rust示例教程,其中包含以下代码片段:

// Vec example
let vec1 = vec![1, 2, 3];
let vec2 = vec![4, 5, 6];

// `iter()` for vecs yields `&i32`. Destructure to `i32`.
println!("2 in vec1: {}", vec1.iter()     .any(|&x| x == 2));
// `into_iter()` for vecs yields `i32`. No destructuring required.
println!("2 in vec2: {}", vec2.into_iter().any(| x| x == 2));

// Array example
let array1 = [1, 2, 3];
let array2 = [4, 5, 6];

// `iter()` for arrays yields `&i32`.
println!("2 in array1: {}", array1.iter() …
Run Code Online (Sandbox Code Playgroud)

rust

117
推荐指数
4
解决办法
2万
查看次数

如何在没有for循环的情况下获取迭代中正在处理的当前元素的索引?

我已阅读如何使用索引位置迭代 Vec<T>?答案是enumeratefor-loop 中使用。

但是,如果我不使用这样的for-loop:

fn main() {
    let v = vec![1; 10]
        .iter()
        .map(|&x| x + 1  /* + index */ ) // <--
        .collect::<Vec<_>>();

    print!("v{:?}", v);
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在上面的闭包中获得索引?

rust

5
推荐指数
2
解决办法
2282
查看次数

如何使用索引位置压缩Vec <T>

在我的问题之后,如何在Rust中迭代具有索引位置的Vec,现在我需要将两个动态向量与其索引位置压缩.

rust

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

标签 统计

rust ×3