我写了一个yml文件,如下所示:
last_update: '2014-01-28 11:00:00'
我将这个文件理解为
config = YAML.load('config/data.yml')
后来,我通过配置‘’last_ last_update_time‘来访问这个更新,但是它不工作。此外,我想通过我的ruby代码更新last_update_time,就像它应该更新一样:
last_update: '2014-01-29 23:59:59'
我不知道该怎么做。
发布于 2014-01-29 13:20:34
将.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
https://stackoverflow.com/questions/21422494
复制相似问题