在YAML中重用一段代码

时间:2011-12-11 18:04:39

标签: yaml

我想reuse a hash in YAML

Defaults: &defaults
  Company: Foo
  Item: 123

Computer: *defaults
  Price: 3000

但是,这会产生错误。

是分别锚定每个字段值的唯一方法like this

Defaults:
  Company: &company Foo
  Item: &item 123

Computer:
  Company: *company
  Item: *item
  Price: 3000

3 个答案:

答案 0 :(得分:229)

尝试通过导入重新使用整个组:

Defaults: &defaults
  Company: foo
  Item: 123

Computer:
  <<: *defaults
  Price: 3000

文档:http://yaml.org/type/merge.html

答案 1 :(得分:15)

# sequencer protocols for Laser eye surgery
---
- step:  &id001                  # defines anchor label &id001
    instrument:      Lasik 2000
    pulseEnergy:     5.4
    pulseDuration:   12
    repetition:      1000
    spotSize:        1mm

- step: &id002
    instrument:      Lasik 2000
    pulseEnergy:     5.0
    pulseDuration:   10
    repetition:      500
    spotSize:        2mm

- step: *id001                   # refers to the first step (with anchor &id001)
- step: *id002                   # refers to the second step
- step: *id001
- step: *id002

来自wikipedia

的样本

答案 2 :(得分:-1)

那么,这两者之间有什么区别:

a: &a
  item1: value
b: *a

和:

a: &a
  item1: value
b:
  <<: *a

例如,Bitbucket 管道一直在争论前者是无效的。