我有一个小脚本来自动化 YAML 文件中的一些事情。
我读取了原始的 YAML 文件并将其转换为哈希,然后在修改后将其转储到文件中:
File.open(output_file, "w") do |out|
YAML.dump(modified_hash, out)
end
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如果不需要,它会删除字符串周围的双引号。这是有效的 YAML,但它看起来不太好。
我可以在每个字符串的末尾添加一个空格来强制使用单引号,但我对此不太满意。有没有办法在字符串周围强制使用双引号?
我找到了一个解决方案,这很奇怪,但它有效。
为了强制使用单引号,我遍历了哈希并将其附加"foobar "(注意空格)到每个值。使用后YAML.dump,我再次打开文件并替换"foobar "为空字符串。
为了强制使用双引号,我发现附加"foo \nbar"可以完成这项工作。然后,我再次打开该文件并替换"foo \\nbar"为空字符串。很奇怪,但是有效。
请注意,您可能想要选择比 foobar 不太可能使用的东西。
| 归档时间: |
|
| 查看次数: |
4125 次 |
| 最近记录: |