如何将数据转换为yml文件

时间:2013-11-27 15:03:30

标签: ruby yaml

我有一个Ruby文件,“one.rb”:

require 'yaml'

e = { "names"=>{"first_name" => "shaik", "last_name" => "farooq"} }

puts e.to_yaml

当我运行它时,它会在控制台中成功执行并输出:

---
names:
first_name: shaik
last_name: farooq

我想将执行的数据存储在扩展名为“yml”的文件中。我怎么能从上面的文件(test.rb)做到这一点?

2 个答案:

答案 0 :(得分:2)

这很简单:

require 'yaml'

e = { "names"=>{"first_name" => "shaik", "last_name" => "farooq"} }
File.write('test.yaml', e.to_yaml)

运行之后,当前目录中将存在一个名为“test.yaml”的文件,其中包含:

---
names:
  first_name: shaik
  last_name: farooq

您也可以轻松地重新加载这些数据:

new_e = YAML.load_file('test.yaml')
# => {"names"=>{"first_name"=>"shaik", "last_name"=>"farooq"}}

答案 1 :(得分:1)

您可以使用以下命令将yaml写入文件:

require 'yaml'

e = { "names"=>{"first_name" => "shaik", "last_name" => "farooq"} }

File.open('your_file_name.yml', 'w') { |f| f.write(e.to_yaml) }