在我的内心深处.yml文件.我有下面的键值对...

session = 0

如何更新YAML文件,以便:

session = 2

推荐答案

使用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

Ruby相关问答推荐

CarrierWave Multi-uploader重命名现有文件

清理 jruby 中输入数据的编码错误

Ruby - 将两个哈希与一些相似的键合并

如何使用 Ruby 删除字符串中某个字符后的子字符串?

Faraday中的timeout和open timeout是什么?

如何判断 Ruby 数组是否包含多个值之一?

ruby 是否支持 case 语句中的范围?

Ruby 1.9 - 无效的多字节字符(US-ASCII)

无法在 macos-10.15.6 上Bundle 安装 puma 4.3.5 或 gem puma 与 ruby​​-2.6.6

如何通过一组新的给定键更改哈希的所有键

require File.expand_path(..., __FILE__) 是最佳实践吗?

STDERR.puts 与 Ruby 中的 puts 有何不同?

动态设置 Ruby 对象的属性

用元素填充数组 N 次

你能在 Python 的核心类型上修改补丁方法吗?

为什么 Ruby 的 Date 类会自动加载,但 DateTime 不会?

判断字符串是否为空的Ruby方法?

Ruby 实例变量何时设置?

如何在 Ruby 中使用全局变量或常量值?

Ruby:如何将数组数组连接成一个