gpt4 book ai didi

ruby - YAML (Ruby) 加载 "on"为真

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

我正在尝试从 YAML 文件加载单词列表。在文件中有一个条目

- on

Ruby 将其加载为“true”,而不是“on”。同样,“off”被加载为“false”。快速检查 Psych 代码显示"is"和“否”的处理方式相同。

除了在打开和关闭周围添加引号外,有什么方法可以改变这种行为吗?

如果我读取文件并解析,而不是 load_file,我就能看到这些值。

# test.yaml
- true
- false
- yes
- no
- on
- off
- y
- n
- Y
- N

我通过解析而不是加载获得 Psych 文档,其中包含转换为 native 之前的文本。

YAML.parse_file('test.yaml')

想知道如何正确提取它。

来自文档

“表示阶段是指已组合成 YAML::BaseNode 对象的数据。在此阶段,文档可用作节点对象树。您可以在此级别执行 YPath 查询和转换。(请参阅 YAML: : 解析。)”

在编写全面的 YPath 查询以提取数据方面需要帮助。

(PS:这可能看起来有点迂回,但这对我来说清理了很多数据管理方面的事情)

最佳答案

它在 YAML 中列出 reference card ,尽管我在规范中找不到任何对它的引用。

Language Independent Scalar types:   ...    { Y, true, Yes, ON  }    : Boolean true    { n, FALSE, No, off }    : Boolean false   ...

我认为引号是您唯一的选择。

关于ruby - YAML (Ruby) 加载 "on"为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28507195/

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