首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用ruby代码读取和更新YAML文件

用ruby代码读取和更新YAML文件
EN

Stack Overflow用户
提问于 2014-01-29 13:02:35
回答 1查看 31.7K关注 0票数 17

我写了一个yml文件,如下所示:

代码语言:javascript
复制
last_update: '2014-01-28 11:00:00'

我将这个文件理解为

代码语言:javascript
复制
config = YAML.load('config/data.yml')

后来,我通过配置‘’last_ last_update_time‘来访问这个更新,但是它不工作。此外,我想通过我的ruby代码更新last_update_time,就像它应该更新一样:

代码语言:javascript
复制
 last_update: '2014-01-29 23:59:59' 

我不知道该怎么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-29 13:20:34

将.load切换到.load_file,您就应该可以运行了。

代码语言:javascript
复制
#!/usr/bin/env ruby
require 'yaml'
config = YAML.load_file('data.yml')
puts config['last_update']

在运行之后,我得到了以下结果

代码语言:javascript
复制
orcus:~ user$ ruby test.rb
# ⇒ some_data

要写入该文件,您需要打开YAML文件并写入句柄。像这样的东西应该行得通。

代码语言:javascript
复制
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

输出是

代码语言:javascript
复制
orcus:~ user$ ruby test.rb
some data
orcus:~ user$ cat data.yml
---
last_update: other data
票数 40
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21422494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档