Ich muss einen Hash wie den unten angegebenen in lesbare YAML konvertieren. Es sieht aus wie ich YAML::load
einen String ernähren kann, aber ich glaube, ich brauche es zu konvertieren zuerst in etwa wie folgt:Ruby Hash in YAML konvertieren
hostname1.test.com:
public: 51
private: 10
{"hostname1.test.com"=>
{"public"=>"51", "private"=>"10"},
"hostname2.test.com"=>
{"public"=>"192", "private"=>"12"}
}
Ich bin nicht sicher, wie genau in diese Zeichenfolge, die Umwandlung zu tun, obwohl effektiv.
Ich schaute durch die HASH-Dokumentation und konnte nichts für to_yaml
finden. Ich habe es gefunden, indem ich nach to_yaml
gesucht habe, das verfügbar wird, wenn Sie require yaml
. Ich habe auch versucht, die Enumerable-Methode collect
zu verwenden, bin aber verwirrt, als ich den Wert durchlaufen musste (ein weiterer Hash).
Ich versuche "Converting hash to string in Ruby" als Referenz zu verwenden. Mein Gedanke war dann, das in YAML::load
zu füttern, und das würde das YAML erzeugen, das ich wollte.
Haben Sie Rubys lesen Sie [YAML Dokumentation] (http://www.ruby-doc.org/stdlib-2.0/libdoc/yaml/rdoc /YAML.html)? Wie wäre es mit "[Yaml-Kochbuch auf der YamlForRuby-Website] (http://www.yaml.org/YAML_for_ruby.html)? Außerdem ist Ihr übergebener Hash nicht gültig. Sollte es ein Array von Hashes oder ein Hash von Hashes sein –
Sie sollten auch einen Code geliefert haben, der zeigt, was Sie ausprobiert haben, zusammen mit einer Erklärung, was nicht funktioniert hat: -1 –
Hinzugefügte Arbeit, die ich vor der Suche nach der to_yaml-Methode geleistet habe: –