gpt4 book ai didi

ruby - 如何从一个 YAML 文件中读取多个文档?

转载 作者:数据小太阳 更新时间:2023-10-29 08:19:45 24 4
gpt4 key购买 nike

我想制作一个仅包含哈希值的 YAML 文件。但是,我不能迭代它。当我尝试加载 YAML 文件时:

YAML.load_file('yamlFile.yml') 

它只返回文件中的第一个散列。这是我想创建的示例文件:

---
:reach_hypo: true
:liquid: true
---
:reach_hypo: true
:liquid: false
---
:reach_hypo: true
:liquid: true

如果我加载上面的文件,我会得到:

{reach_hypo: true, liquid: true}

我发现的唯一解决方法是将所有哈希值添加到一个数组中,然后将其写入 YAML 文件。是否有更好的方法(例如 YAML 方法)来遍历 YAML 文件?

最佳答案

从单个文件中读取多个 YAML 文档作为流

您可以使用 YAML::load_stream从单个文件中读取多个文档。例如:

require 'yaml'

array = []
YAML.load_stream(File.read 'test.yml') { |doc| array << doc }
array

#=> [{:reach_hypo=>true, :liquid=>true}, {:reach_hypo=>true, :liquid=>false}, {:reach_hypo=>true, :liquid=>true}]

关于ruby - 如何从一个 YAML 文件中读取多个文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35836325/

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