相关疑难解决方法(0)

是否可以就地过滤矢量?

我想从a中删除一些元素Vec,但是vec.iter().filter().collect()使用借来的项创建一个新的向量.

我想在Vec没有额外内存分配的情况下改变原始内容(并将已删除元素的内存保留为向量的额外容量).

iterator rust

14
推荐指数
2
解决办法
1289
查看次数

Rust“类型的可变性不同”

我试图从向量中删除一个元素(如果它存在于其中):

use std::collections::HashMap;

fn test(map: HashMap<String, Vec<String>>, department: String, employee: String) {
    let &mut list = map.get(&department).unwrap();
    let index = list.iter().position(|x| x == &employee);
    match index {
        Some(i) => {
            list.remove(i);
        },
        None => {
            println!("No records of {} in {}!", &employee, &department);
        },
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

use std::collections::HashMap;

fn test(map: HashMap<String, Vec<String>>, department: String, employee: String) {
    let &mut list = map.get(&department).unwrap();
    let index = list.iter().position(|x| x == &employee);
    match index {
        Some(i) => {
            list.remove(i);
        },
        None => …
Run Code Online (Sandbox Code Playgroud)

rust

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

迭代它时删除一个元素

有没有办法在迭代时删除元素?这是一个代码示例:

for particle in &mut particles {

    let mut delete = false;
    // Do stuff...

    if delete {
        // Remove element from particles vector <-- THIS
    }

}
Run Code Online (Sandbox Code Playgroud)

我认为这种(脏)设计是不可能的.为了知道我需要删除哪个元素,假设我需要迭代以便删除向量中的某些元素,这是什么常见(优雅?)模式?如果重复,请随意关闭.

rust

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

从字符串中删除所有空格

如何从字符串中删除所有空格?我可以想到一些显而易见的方法,例如遍历字符串并删除每个空白字符,或使用正则表达式,但是这些解决方案并不那么具有表现力或效率。什么是从字符串中删除所有空格的简单有效的方法?

regex whitespace removing-whitespace rust

3
推荐指数
2
解决办法
816
查看次数

标签 统计

rust ×4

iterator ×1

regex ×1

removing-whitespace ×1

whitespace ×1