参照を使う。
YAMLでは、参照が使えます。(参照される側をアンカー、参照する側をエイリアスといいます。)
YAML(kitten.yml):
--- strains: - &mike # "&<アンカー名>"でアンカーを設定 name: "三毛" description: "茶色・黒・白の3色模様です。" - &scottish-fold name: "スコティッシュフォールド" description: "耳が垂れています。" kittens: - name: mii type: *mike # "*<アンカー名>"でアンカーの値を参照する。 - name: tora type: *scottish-fold
サンプル:
require 'yaml' data = YAML.load_file( "./kittens.yml" ); data['kittens'].each {|k| puts k["name"] + " : " + k['type']['name'] + " : " + k['type']['description'] }
出力:
mii : 三毛 : 茶色・黒・白の3色模様です。 tora : スコティッシュフォールド : 耳が垂れています。