我有一个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)做到这一点?
答案 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) }