Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

YAMLで似たデータを使い回す

同様のデータを複数の要素を跨ぐ場合……
アンカー・プロパティが使えます。

[13] c-anchor ::= “&”
An “&” (#x26, ampersand) denotes a node’s anchor property.

実際のところ

リンク元は"&"、参照するときは"*"をつけます。

main:
  name: "main"
  place: &LINK {x: 10, y: 20}
sub:
  whereIs: *LINK

パースすると、こんな感じ

{ main: { name: 'main', place: { x: 10, y: 20 } },
  sub: { whereIs: { x: 10, y: 20 } } }