如何将值保存到YAML文件中?

53

在我的persist.yml文件中,我有以下的键值对...

session = 0

如何更新YAML文件,使其符合以下要求:

session = 2

1
加载它,修改数据,重新生成yaml文件?还是我漏掉了什么? - Christophe Biocca
我在网上找不到一个好的例子来做那件事。但是没错,那基本上就是我要找的。 - freedom
这是一个非常简单的任务,但它没有展现出任何努力的证据。 "Stack Overflow用户需要多少研究工作?" - the Tin Man
1个回答

111

使用 ruby-1.9.3(可能不适用于旧版本)。

我假设文件看起来像这样(相应地调整代码):

---
content:
    session: 0

并且被称为 /tmp/test.yml

然后代码就是:

require 'yaml' # Built in, no gem required
d = YAML::load_file('/tmp/test.yml') #Load
d['content']['session'] = 2 #Modify
File.open('/tmp/test.yml', 'w') {|f| f.write d.to_yaml } #Store

2
在1.8.7中也能正常工作。 - CJ.
34
使用File.write('/tmp/test.yml', d.to_yaml)能够更简单地完成同样的任务。 - the Tin Man

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接