首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从元组(Option<&str>,Option<&str>)转换为元组(Option<String>,Option<String>)?

如何从元组(Option<&str>,Option<&str>)转换为元组(Option<String>,Option<String>)?
EN

Stack Overflow用户
提问于 2022-07-05 18:34:37
回答 1查看 203关注 0票数 1

我想从这件事中得到:

代码语言:javascript
复制
let a: Option<&str> = Some("foo");
let b: Option<String> = a.map(|s| s.to_string());

以元组形式:

代码语言:javascript
复制
let c: (Option<&str>, Option<&str>) = (Some("bar"), Some("baz"));
let d: (Option<String>, Option<String>) = c.map(|s| (s.0.to_string(), s.1.to_string()));
代码语言:javascript
复制
7 |     let d: (Option<String>, Option<String>) = c.map(|s| (s.0.to_string(), s.1.to_string()));
  |                                                 ^^^ `(Option<&str>, Option<&str>)` is not an iterator
  |
  = note: the following trait bounds were not satisfied:
          `(Option<&str>, Option<&str>): Iterator`
          which is required by `&mut (Option<&str>, Option<&str>): Iterator

如何使用rust 1.61或更新将可选字符串片的元组转换为可选字符串的元组?

操场链接

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-05 18:37:13

就像你有两个变量时那样做吧:

代码语言:javascript
复制
let c = (Some("bar"), Some("baz"));
let d = (c.0.map(|s| s.to_string()), c.1.map(|s| s.to_string()));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72874085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档