rust - 在 rust 中迭代 yaml 数组
问题描述
嗨,我有一个 yaml 数组,我想在 rust 中迭代,这是 yaml 数组:
schedules:
- 8:00-9:10
- 9:30-10:40
- 11:00-12:10
- 16:20-17:30
- 15:00-16-10
这是我已经得到的代码:
extern crate yaml_rust;
use std::fs::read_to_string;
use yaml_rust::{YamlLoader};
fn main() {
let config = read_to_string("config.yaml").unwrap();
let docs = YamlLoader::load_from_str(&config).unwrap();
let doc = &docs[0];
let schedules = &doc["schedules"];
}
我将如何进行迭代schedules
?
我尝试将其转换为哈希图(使用.as_hash().unwrap()
我看到的其他帖子),但它说:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/main.rs:8:49
解决方案
yaml_rust
将数组表示为向量。Vec
您可以使用该方法将 YAML 节点转换为 a as_vec
。如果节点不是数组,as_vec
将返回None
:
for schedule in schedules.as_vec().unwrap() {
schedule.do_stuff()
}
推荐阅读
- javascript - jQuery 没有读取 .ejs 页面上的变量
- javascript - 如何添加背景
- python-3.x - 如何将分隔字符串转换回Python中的列表
- swiftui - 将 List 的 cell 属性绑定到 Observable ViewModel
- reactjs - React 本机选择器未显示下拉菜单
- spring-boot - 原因:java.lang.IllegalArgumentException:无法将 int 字段 com.example.demo.pojo.PurchaseOrder.orderNo 设置为 java.lang.Integer
- javascript - 剑道网格从调整excel导出列的大小
- php - 保存 php 脚本输出并在 html 脚本中运行它们时在其他 php 脚本中使用它
- r - 在 ggplot2 的 facet_wrap 中删除未使用的级别
- r - R gam模型cooks.distance和influence.gam