Мне нужно преобразовать хеш, как показано ниже, в читаемый YAML. Похоже, что я могу кормить YAML::load
строкой, но я думаю, что мне нужно, чтобы преобразовать его в первом что-то вроде этого:Преобразование Ruby Hash в YAML
hostname1.test.com:
public: 51
private: 10
{"hostname1.test.com"=>
{"public"=>"51", "private"=>"10"},
"hostname2.test.com"=>
{"public"=>"192", "private"=>"12"}
}
Я не уверен, как именно это сделать, что преобразование в эту строку эффективно, хотя.
Я просмотрел документацию HASH и ничего не нашел для to_yaml
. Я нашел его, ища to_yaml
, который станет доступен, когда вы require yaml
. Я также попытался использовать метод Enumerable collect
, но запутался, когда мне нужно было перебрать значение (другой хеш).
Я пытаюсь использовать «Converting hash to string in Ruby» в качестве справки. Моя мысль заключалась в том, чтобы накормить это в YAML::load
, и это создало бы ЯМЛ, которого я хотел.
Вы прочитал [документации YAML] Руби (http://www.ruby-doc.org/stdlib-2.0/libdoc/yaml/rdoc /YAML.html)? Как насчет «[Yaml Cookbook на сайте YamlForRuby] (http://www.yaml.org/YAML_for_ruby.html)? Также недопустимый ваш хэш-код. Если это массив хэшей или хэш хэшей ? –
Вы также должны были указать код, показывающий, что вы пробовали, а также объяснение того, что не сработало. -1 для не проявляющих никаких усилий. –
Добавлена работа, которую я сделал до поиска метода to_yaml. –