gpt4 book ai didi

ruby - 在 Ruby 中更新 YAML 文件

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:16 24 4
gpt4 key购买 nike

我的类(class)是:

class Mycfg
@@options = {}

def init
@@options = YAML.load_file(Dir.pwd + PATH)
end

def set(key, val)
@@options[key] = val
end

def get(key)
@@options[key]
end

def save
end
end

使用这个类:

oj = Mycfg.new
oj.init

if oj.get 'name' == 'tom'
oj.set 'changed', Data.now
end

oj.save

YAML 文件:

name : tom
pawd : 123456
version : 0.0.1
created : 2011-10-24
changed : 2011-10-24

如果发生更改,我如何完成 save 方法来更新 YAML 文件?

最佳答案

这是一条单线。

w+ 将文件截断为 0 长度并写入,就好像它是一个新文件一样。

options_hash@@options 的当前值。

您将需要一个 getter /访问器来检索完整的哈希值。如果你使 @@options 成为实例变量而不是类变量,你可以简单地执行 attr_accessor :options 然后用 oj.options 检索它>.

File.open(Dir.pwd + PATH, 'w+') {|f| f.write(options_hash.to_yaml) }

关于ruby - 在 Ruby 中更新 YAML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7870970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com