Как использовать YAML в ruby ​​/ rails? - PullRequest
4 голосов
/ 23 октября 2010

У меня есть список учетных записей, которые я хочу сохранить в виде файла YAML и загрузить его в ruby. Примерно так:

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

Затем я хочу получить адрес электронной почты человека с именем «Джон Доу» (например).

Как мне это сделать?

Ответы [ 2 ]

10 голосов
/ 23 октября 2010

Здесь вы сохраняете свои объекты yaml как объекты Person, а затем, когда вы загружаете их обратно, они загружаются в объекты Person, что значительно облегчает их обработку.

Сначала измените настройку файла yaml на что-то другое.например:

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

Теперь вы можете загрузить свой файл yaml в массив объектов Person и затем манипулировать этим массивом:

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
1 голос
/ 23 октября 2010

Вы просто говорите require yaml вверху вашего файла.

Объекты получают метод to_yaml, когда вы делаете это.Загрузка файлов yaml проста ... Обратитесь к документации здесь.http://yaml4r.sourceforge.net/doc/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...