我有一个帐户列表,我想将其保存为 YAML 文件并将其加载到 ruby 中。像这样:
Account1 John Smith jsmith jsmith@gmail.com Account2 John Doe jdoe jdoe@hotmail.com
然后我想获取姓名为“John Doe”的人的电子邮件地址(例如)。
我该怎么做?
最佳答案
在这里,您将 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
关于ruby-on-rails - 如何在 ruby/rails 中使用 YAML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4002092/