Я хочу сохранить порядок ключей в файле YAML, загруженном с диска, каким-то образом обработанном и записанном обратно на диск.
Вот базовый пример загрузки YAML в Ruby (v1.8.7):
require 'yaml'
configuration = nil
File.open('configuration.yaml', 'r') do |file|
configuration = YAML::load(file)
# at this point configuration is a hash with keys in an undefined order
end
# process configuration in some way
File.open('output.yaml', 'w+') do |file|
YAML::dump(configuration, file)
end
К сожалению, это нарушит порядок ключей в configuration.yaml
после построения хеша. Я не могу найти способ контролировать, какая структура данных используется YAML::load()
, например. Алиба orderedmap
.
Мне не повезло искать в Интернете решение.