我正在尝试从 YAML 文件加载单词列表。文件中有一个条目
- on
Run Code Online (Sandbox Code Playgroud)
Ruby 将其加载为“true”,而不是“on”。类似地,“off”被加载为“false”。对 Psych 代码的快速检查显示“是”和“否”的处理方式相同。
除了在开关上添加引号之外,还有什么方法可以改变这种行为?
如果我读取文件并解析,而不是加载文件,我就可以看到这些值。
# test.yaml
- true
- false
- yes
- no
- on
- off
- y
- n
- Y
- N
Run Code Online (Sandbox Code Playgroud)
我通过解析而不是加载来获取 Psych 文档,其中包含转换为本机之前的文本。
YAML.parse_file('test.yaml')
Run Code Online (Sandbox Code Playgroud)
想知道如何正确提取它。
来自文档
“表示阶段是指已组成 YAML::BaseNode 对象的数据。在此阶段,文档可用作节点对象树。您可以在此级别执行 YPath 查询和转换。(请参阅 YAML::parse。 )”
需要有关编写全面的 YPath 查询来提取数据的帮助。
(PS:这可能看起来有点迂回,但这为我清理了数据管理中的很多东西)
归档时间: |
|
查看次数: |
2403 次 |
最近记录: |