说我有以下YAML文件:
-
key1: value
# and so on...
key99: value
key100:
subkey1: value
# and so on...
subkey100: value
-
key1: value
# and so on...
key99: value
key100:
subkey1: value
# and so on...
subkey100: SOME DIFFERENT VALUE
Run Code Online (Sandbox Code Playgroud)
处理大量相同数据的自然方式是使用锚点,并覆盖更改的键.
问题是,这里的子项不同.有没有一种简单的方法来引用key100['subkey100']
改变了?或者我必须在每个级别使用一系列锚点?
即,是否有简写:
- &anchor
key1: value
# and so on...
key99: value
key100: &subanchor
subkey1: value
# and so on...
subkey100: value
-
<<: *anchor
key100:
<<: *subanchor
subkey100: SOME DIFFERENT VALUE
Run Code Online (Sandbox Code Playgroud) 我有我想要使用红宝石精极度紧张转储到YAML格式的数据(例如JSON)的大串,同时保留格式.
基本上,我希望JSON使用文字样式出现在YAML中:
---
json: |
{
"page": 1,
"results": [
"item", "another"
],
"total_pages": 0
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用YAML.dump
它时不使用文字样式.我得到这样的东西:
---
json: ! "{\n \"page\": 1,\n \"results\": [\n \"item\", \"another\"\n ],\n \"total_pages\":
0\n}\n"
Run Code Online (Sandbox Code Playgroud)
我怎么能告诉Psych将scalars转换为想要的风格?
非常感谢Aaron Patterson提出的我正在扩展的解决方案:https://gist.github.com/2023978
虽然有点冗长,但这个要点是一种标记ruby中某些字符串的工作方式,使用YAML中的文字样式输出.