我正在尝试读取类似以下内容的yaml文件
SLTs:
- requests: 600
concurrency: 50
targets:
99%: < 100
Requests per second: > 500请注意,键“每秒请求数”中有空格。我已经阅读了yaml.org中的yaml规范,看起来这是可以的。
Ruby 1.9.2附带了两个yaml库:心理库和系统库。心理无法读取此文件
couldn't parse YAML at line 132 column 37 (Psych::SyntaxError)Syck可以解析它,但它不能正确处理延迟作业(我的系统的另一个组成部分)。
我已经尝试了1.9.3,也有类似的结果。
YAML的引擎可以用YAML::ENGINE.yamler = ...但我不想在每种情况下都改变引擎,而是使用一个在两种情况下都能正确工作的库。
我已经在谷歌上搜索过了,但没有找到任何东西,所以我的问题是:有比Ruby标准库中的库更好的库来处理YAML吗?我只需要读取文件。
发布于 2012-10-05 12:10:16
造成问题的不是键中的空格,而是值:> 500。> indicates a scalar in folded style -错误是说在>之后应该只有一个注释或换行符。
您需要转义散列的值:
99%: '< 100'
Requests per second: '> 500'https://stackoverflow.com/questions/12738839
复制相似问题