如何附加到 Rust 哈希表中的字符串值?

以西结68

我的源文件包含给定日期的许多产品的文本 CSV 行。我想使用 Rust 来整理这些文件,以便我最终得到许多新的目标 CSV 文件,每个产品一个,每个包含仅特定于该产品的行的部分。

我当前的解决方案是遍历源文件的行并使用 aHashMap<String, String>来收集每个产品的行。我拆分每个源代码行并使用包含产品 ID 的元素作为键,Entry在我的HashMap. 如果它是空的,我会String使用一个预先分配给定容量的新值来初始化该值,以便我可以在此后有效地附加到它。

// so far, so good (the first CSV item is the product ID)
let mystringval = productmap.entry(splitsource[0].to_owned()).or_insert(String::with_capacity(SOME_CAPACITY));

然后我想将同一源行的格式化元素附加到这个Entry. 网上有很多例子,比如
https://doc.rust-lang.org/std/collections/hash_map/struct.HashMap.html#method.entry
如果HashMap值为整数,如何使这个工作

// this works if you obtain an Entry from a HashMap containing int vals
*myval += 1;

我还没有想出如何将更多文本附加到EntryHashMap<String, String>使用这种语法获得的文本中,并且我已尽最大努力在线研究示例。在 Rust 数据结构中操作非数字条目的例子非常少。

// using the Entry obtained from my first code snippet above
*mystringval.push_str(sourcePortion.as_str());

尝试编译它会产生以下错误:

error: type `()` cannot be dereferenced
   --> coll.rs:102:17
    |
102 |                 *mystringval.push_str(sourcePortion.as_str());
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

如何附加到String内部Entry

多伯特

*mystringval.push_str(sourcePortion.as_str());被解析为*(mystringval.push_str(sourcePortion.as_str()));,因为String::push_str返回(),你会得到() cannot be dereferenced错误。

在取消引用周围使用括号可以解决优先级问题:

(*mystringval).push_str(sourcePortion.as_str());

之所以*myval += 1有效是因为一元*的优先级高于+=,这意味着它被解析为

(*myval) += 1

由于or_insertreturn &mut V,您不需要在调用其方法之前取消引用它。以下也有效:

mystringval.push_str(sourcePortion.as_str());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将char附加到rust的字符串中

来自分类Dev

将char附加到rust的字符串中

来自分类Dev

如何附加到字符串?

来自分类Dev

如何在Rust中从字符串的开头“剪掉”字符?

来自分类Dev

如何在Rust中连接静态字符串

来自分类Dev

如何在Rust中索引字符串

来自分类Dev

如何用哈希值替换字符串中的字母

来自分类Dev

如何在Rust中创建和使用字符串为Hashmap字符串?

来自分类Dev

如何从Rust字符串或&str类型的索引中删除子字符串?

来自分类Dev

函数将字符串附加到表中

来自分类Dev

如何在Swift中将字符附加到字符串?

来自分类Dev

如何在elasticsearch中将字符附加到字符串?

来自分类Dev

如何遍历哈希表,该哈希表包含具有键,值的多个数组,并附加另一个字符串?

来自分类Dev

如何在bash中将日期附加到字符串

来自分类Dev

如何从for循环中将字符串附加到向量?

来自分类Dev

如何将分号(;)附加到cmake字符串

来自分类Dev

如何在Xcode中将变量附加到字符串

来自分类Dev

如何将属性附加到字符串?

来自分类Dev

如何将字符串内容附加到数组

来自分类Dev

如何使用exiftool将字符串附加到标签

来自分类Dev

如何使用串联的匿名函数附加到字符串?

来自分类Dev

如何使用javascript将字符串附加到textarea

来自分类Dev

如何将字符串附加到对象属性?

来自分类Dev

如何遍历Rust中字符串中的字符以匹配单词?

来自分类Dev

如何在ruby中将字符串值附加到现有的列值?

来自分类Dev

如果字符串在大写和小写中包含相同的字符,如何在哈希集中添加字符串值?

来自分类Dev

如果字符串在大写和小写中包含相同的字符,如何在哈希集中添加字符串值?

来自分类Dev

如何在Rust中大写字符串中的所有字符?

来自分类Dev

Terraform,如何将传入的字符串变量附加到值?

Related 相关文章

  1. 1

    将char附加到rust的字符串中

  2. 2

    将char附加到rust的字符串中

  3. 3

    如何附加到字符串?

  4. 4

    如何在Rust中从字符串的开头“剪掉”字符?

  5. 5

    如何在Rust中连接静态字符串

  6. 6

    如何在Rust中索引字符串

  7. 7

    如何用哈希值替换字符串中的字母

  8. 8

    如何在Rust中创建和使用字符串为Hashmap字符串?

  9. 9

    如何从Rust字符串或&str类型的索引中删除子字符串?

  10. 10

    函数将字符串附加到表中

  11. 11

    如何在Swift中将字符附加到字符串?

  12. 12

    如何在elasticsearch中将字符附加到字符串?

  13. 13

    如何遍历哈希表,该哈希表包含具有键,值的多个数组,并附加另一个字符串?

  14. 14

    如何在bash中将日期附加到字符串

  15. 15

    如何从for循环中将字符串附加到向量?

  16. 16

    如何将分号(;)附加到cmake字符串

  17. 17

    如何在Xcode中将变量附加到字符串

  18. 18

    如何将属性附加到字符串?

  19. 19

    如何将字符串内容附加到数组

  20. 20

    如何使用exiftool将字符串附加到标签

  21. 21

    如何使用串联的匿名函数附加到字符串?

  22. 22

    如何使用javascript将字符串附加到textarea

  23. 23

    如何将字符串附加到对象属性?

  24. 24

    如何遍历Rust中字符串中的字符以匹配单词?

  25. 25

    如何在ruby中将字符串值附加到现有的列值?

  26. 26

    如果字符串在大写和小写中包含相同的字符,如何在哈希集中添加字符串值?

  27. 27

    如果字符串在大写和小写中包含相同的字符,如何在哈希集中添加字符串值?

  28. 28

    如何在Rust中大写字符串中的所有字符?

  29. 29

    Terraform,如何将传入的字符串变量附加到值?

热门标签

归档