【发布时间】:2016-08-27 15:16:46
【问题描述】:
我需要在 Ruby 中以编程方式编辑 YAML 文件,不幸的是,我还需要保留封闭的引号字符。能够留住 cmets 也是一种奖励。
也就是说如果我有一个文件:
---
foo: 'bar'
或
---
foo: "bar"
我的脚本不能写回:
---
foo: bar
如前所述,理想情况下我也需要保留 cmets。
不走将整个文件视为文本流的路径,有没有什么方便的方法可以解决这些问题中的一个或两个?
【问题讨论】:
-
您不能按照here 的说明使用字符串而不是整数吗?
-
如果 ruby 中不存在忽略注释文本的解析器,您将需要自己的解析器。至于删除引号的文件,这是每个 yaml 规范,字符串不必被括起来,但通常会在它使字符串不那么模棱两可时被括起来(例如,
[、]、,等字符,"在里面)
标签: ruby