5 Stimmen

Wie verwende ich YAML in Ruby/Rails?

Ich habe eine Liste von Konten, die ich als YAML-Datei speichern und in Ruby laden möchte. Etwas wie dies:

Account1
  John Smith
  jsmith
  jsmith@gmail.com
Account2
  John Doe
  jdoe
  jdoe@hotmail.com

Dann möchte ich die E-Mail-Adresse der Person mit dem Namen "John Doe" (zum Beispiel) erhalten.

Wie kann ich das tun?

11voto

ab217 Punkte 16398

Hier speichern Sie Ihre Yaml-Objekte als Person-Objekte, und wenn Sie sie dann wieder laden, werden sie als Person-Objekte geladen, was ihre Handhabung wesentlich erleichtert.

Ändern Sie zunächst Ihre yaml-Datei in etwa so:

--- 
- !ruby/object:Person 
  name: John Doe
  sname: jdoe
  email: jdoe@gmail.com
- !ruby/object:Person 
  name: Jane Doe
  sname: jdoe
  email: jane@hotmail.com

Jetzt können Sie Ihre yaml-Datei in ein Array von Person-Objekten laden und das Array dann bearbeiten:

FILENAME = 'data.yaml'

class Person 
 attr_accessor :name, :sname, :email
end

require "yaml"
# Will return an array of Person objects.
data = YAML::load(File.open(FILENAME))

# Will print out the first object in the array's name. #=> John Doe
puts data.first.name

1voto

Gishu Punkte 130442

Sie sagen einfach require yaml am Anfang Ihrer Datei.

Objekte erhalten eine to_yaml Methode, wenn Sie dies tun. Das Laden von yaml-Dateien ist einfach. Siehe die Dokumente hier. http://yaml4r.sourceforge.net/doc/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X