怎么通过ruby代码读取和更新YAML文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (14)

我写了一个像这样的yml文件:

last_update: '2014-01-28 11:00:00'

我正在阅读这个文件

config = YAML.load('config/data.yml')
 last_update: '2014-01-29 23:59:59' 

我不知道该怎么做。

提问于
用户回答回答于

切换.load到.load_file。

#!/usr/bin/env ruby
require 'yaml'
config = YAML.load_file('data.yml')
puts config['last_update']

运行后

orcus:~ user$ ruby test.rb
# ⇒ some_data

要编写文件,需要打开YAML文件并写入句柄。

require 'yaml'
config = YAML.load_file('data.yml')
puts config['last_update'] #in my file this is set to "some data"
config['last_update'] = "other data"
File.open('data.yml','w') do |h| 
   h.write config.to_yaml
end

输出是

orcus:~ user$ ruby test.rb
some data
orcus:~ user$ cat data.yml
---
last_update: other data

扫码关注云+社区