我正在尝试从YAML文件中加载单词列表。在文件中有一个条目
- on
Ruby将其加载为“true”,而不是“on”。同样,“off”被加载为“false”。Psych代码的快速检查显示“yes”和“no”被以相同方式处理。
除了在on和off周围添加引号外,有没有其他方法可以更改此行为?
如果使用read方法和解析而不是load_file,我可以看到值。
# test.yaml
- true
- false
- yes
- no
- on
- off
- y
- n
- Y
- N
我通过解析而非加载获取了一份心理学文档,其中包含转换成原生格式之前的文本。
YAML.parse_file('test.yaml')
想知道如何正确提取数据。
从文档中得知
"表示阶段意味着已经组成为YAML::BaseNode对象的数据。在此阶段,文档可用作节点对象树。您可以在此级别执行YPath查询和转换。(请参见YAML::parse。)"
需要帮助编写全面的YPath查询以提取数据。
(PS:这可能看起来有点绕,但对于我的数据管理来说,这清理了很多东西)
yaml
文件的权限吗? - Arup Rakshit