rust - 在 Rust 中展平自定义结构的 vec 的 vec
问题描述
我有一个自定义结构,经过一些处理后,我有一个向量包含这个结构的向量。但我只停留在获取结构的平面向量。
#[derive(Debug, Clone, Hash, Eq, PartialEq)]
pub struct Verse {
pub book_id: i16,
pub chapter: i16,
pub verse: i16,
pub text: String,
}
fn main() {
let v1 = Verse {
book_id: 1,
chapter: 1,
verse: 1,
text: String::from("a"),
};
let v2 = Verse {
book_id: 2,
chapter: 1,
verse: 1,
text: String::from("b"),
};
let vv = [[v1], [v2]];
let flatten = vv.iter().flatten().collect::<Vec<Verse>>();
}
和错误:
error[E0277]: a collection of type `std::vec::Vec<Verse>` cannot be built from an iterator over elements of type `&Verse`
--> src/main.rs:23:39
|
23 | let flatten = vv.iter().flatten().collect::<Vec<Verse>>();
| ^^^^^^^ a collection of type `std::vec::Vec<Verse>` cannot be built from `std::iter::Iterator<Item=&Verse>`
|
= help: the trait `std::iter::FromIterator<&Verse>` is not implemented for `std::vec::Vec<Verse>``std::vec::Vec<Verse>`
但我找不到任何如何提出解决方案的例子。
解决方案
推荐阅读
- java - 如何将某个位置的整数数组传递给slidingdotsplash库?
- javascript - vue搜索过滤默认显示所有项目
- javascript - Angular 项目构建成功但出现这些错误
- html - 将条件放入 Thymeleaf,取决于其值类型
- linux - 如何使用 cronolog 或 rotatelogs 轮换 ProFTPd 中的日志
- java - 使用基于 Java EE 8 的 NetBeans 创建 Maven Webapp
- php - 如何在php中找到0是否为整数
- jolokia - 如何在同一主机上同时将 Jolokia 用于多个进程?
- http - 允许客户端选择 JWT 算法的 HTTP 标头
- angular - 使用 TypeScript 在 ionic 3 中解析 XML 中的问题