При создании файла YAML для данных, особенно сложной структуры данных, я позволил YAML сгенерировать его для себя. Затем я настраиваю по необходимости:
require 'yaml'
require 'pp'
foo = ["Skill 1","Act 1", "B"], ["","Act 2" "B"],["Skill 2","Act 1", "B"]
puts foo.to_yaml
Когда я запускаю этот код, я получаю следующий вывод:
---
- - Skill 1
- Act 1
- B
- - ""
- Act 2B
- - Skill 2
- Act 1
- B
Вы можете доказать, что данные правильно сгенерированы, сгенерировав YAML, затем сразу же проанализировать код и показать, как он выглядит, как возвращенную структуру, позволяя вам сравнить ее, и проверкой на равенство:
bar = YAML.load(foo.to_yaml)
pp bar
puts "foo == bar: #{ foo == bar }"
Что бы вывести:
[["Skill 1", "Act 1", "B"], ["", "Act 2B"], ["Skill 2", "Act 1", "B"]]
foo == bar: true