【发布时间】:2015-02-10 02:13:06
【问题描述】:
我刚刚开始学习 YAML,我并没有真正为我想要完成的事情找到最佳实践。基本上,我的 YAML 文件中有一个对象数组,对于生产,我想在这个数组中再添加 1 个条目。所以我基本上想要这样的东西(它是伪代码,因为我知道它不是有效的 YAML):
development:
array: &ARRAY
- name: item1
value: value1
- name: item2
value: value2
production:
<<: *ARRAY
array:
- name: item3
value: value3
目前,我正在使用 Ruby 解析我的 YAML 文件,因此我决定在 Ruby 中处理此逻辑。我正在做这样的事情:
yaml_contents = YAML::load(yaml_string)
prod_values = yaml_contents['production']
prod_values['array'].push({:name => 'item3', :value => 'value3'})
但是,这会使我的加载脚本非常麻烦。有没有更好的设计方法?
我相信this question 是相关的。
【问题讨论】:
-
好的..现在我明白了。已删除我的答案。
-
yaml中没有办法合并序列,但是可以用hash代替
-
但是用散列代替意味着我必须有不同的键,这在需要如何设计的情况下是不可能的。