YAML имеет якорей , но вы не можете использовать их как переменные так, как вы использовали в своем вопросе.Вы можете приблизиться с шагом постобработки.Скажем, ваш domains.yaml
равен
domains:
- domain: &domain domain.com
name: jack
emaillocal: jack
emaildomain: *domain
- domain: &domain thehill.com
name: Jill
emaillocal: jill
emaildomain: *domain
Затем с
#! /usr/bin/ruby
require "yaml"
yaml = YAML.load_file('domains.yaml')
yaml['domains'].each { |d|
d['email'] = d['emaillocal'] + '@' + d['emaildomain']
}
puts YAML::dump(yaml)
вы получите
domains:
- name: jack
emaildomain: domain.com
domain: domain.com
emaillocal: jack
email: jack@domain.com
- name: Jill
emaildomain: thehill.com
domain: thehill.com
emaillocal: jill
email: jill@thehill.com