Inheritance 继承yml并添加或更新现有块

Inheritance 继承yml并添加或更新现有块,inheritance,yaml,Inheritance,Yaml,我有yml # test.yml - name: test prop1: val1 nested-prop: - val2 - val3 现在我想添加另一个块并更新现有的nested prop块,这样最终输出可能如下所示 # test.yml - name: test prop1: val1 nested-prop: - val2 - val3 - val4 prop2: val5 它在nested prop块中添加val

我有yml

# test.yml
- name: test
  prop1: val1
  nested-prop:
     - val2
     - val3
现在我想添加另一个块并更新现有的
nested prop
块,这样最终输出可能如下所示

# test.yml
- name: test
  prop1: val1
  nested-prop:
     - val2
     - val3
     - val4
  prop2: val5
它在
nested prop
块中添加
val4
,并在底部添加
prop2:val5


这可以在没有任何编程模块(如
pyyaml
或其他)的情况下实现。仅使用yaml语法?

不,仅使用yaml无法做到这一点。无法将项目合并为您想要使用
val4
的序列

使用别名(
&foo
)和锚(
*foo
)可以将一个映射合并到另一个映射中:

my-alias: &my-alias
  prop2: val5

data:
  - name: test
    prop1: val1
    nested-prop:
      - val2
      - val3
    <<: *my-alias

请注意,YAML中的映射是无序的,因此不能保证
prop2
键处于“底部”(因为无序的映射没有“底部”)。

不,仅使用YAML无法做到这一点。无法将项目合并为您想要使用
val4
的序列

使用别名(
&foo
)和锚(
*foo
)可以将一个映射合并到另一个映射中:

my-alias: &my-alias
  prop2: val5

data:
  - name: test
    prop1: val1
    nested-prop:
      - val2
      - val3
    <<: *my-alias

请注意,YAML中的映射是无序的,因此
prop2
键不能保证“在底部”(因为一个无序的映射没有“底部”)。

你的问题是什么?有没有办法做到这一点,只使用YAML语法?你的问题是什么?有没有办法做到这一点,只使用YAML语法?谢谢@Jordan,我将尝试使用
&
变量更改源文件。谢谢@Jordan,我将尝试使用
&
变量更改源文件。