gpt4 book ai didi

rust - 如何将 yaml-rust 枚举存储到结构的实例中?

转载 作者:行者123 更新时间:2023-11-29 08:32:37 38 4
gpt4 key购买 nike

我正在尝试定义一个结构,它具有来自 yaml-rustYaml 类型但它不起作用。在这种情况下,我应该在结构中使用什么数据类型?

extern crate yaml_rust;

use yaml_rust::{Yaml, YamlLoader};

struct Book {
doc: Yaml,
}

fn main() {
let s = "
foo:
- list1
- list2
";
let docs = YamlLoader::load_from_str(s).unwrap();
let doc = &docs[0];
let _book = Book { doc: doc };
}
error[E0308]: mismatched types
--> src/main.rs:17:29
|
17 | let _book = Book { doc: doc };
| ^^^ expected enum `yaml_rust::Yaml`, found reference
|
= note: expected type `yaml_rust::Yaml`
found type `&yaml_rust::Yaml`

最佳答案

重新阅读错误信息:

expected type `yaml_rust::Yaml`
found type `&yaml_rust::Yaml`

您没有 Yaml 的实例;您有一个实例的引用。回去复习The Rust Programming Language ,特别是关于 references and borrowing 的章节.

您可以从 docs 向量中删除值并将其传递到您的结构中:

let mut docs = YamlLoader::load_from_str(s).unwrap();
let doc = docs.swap_remove(0);
let _book = Book { doc };

关于rust - 如何将 yaml-rust 枚举存储到结构的实例中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50897929/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com