我是红宝石的新手,并且正在为一些看起来非常微不足道的东西挠挠脑袋。我试图在文件中搜索特定的字符串,并用新值替换该值。这就是我所拥有的:
"{\"a\": \"b\", \"a\":true,\"c\":[\"field_3 string 1\",\"field3 string2\"]}"
文件file = open('file.txt') { |f| f.grep(/release/) }
的内容如下:
file.txt
我在数组中获得上述行的输出如下:
[“发布:0.0.4 \ n”]
如何将上述文件中此行的值更改为新版本,如下所示:
develop: 0.0.0
release: 0.0.4
test: 0.0.0
答案 0 :(得分:0)
根据@tadman的上述建议,我能够按照以下方式开展工作:
require 'yaml'
file = YAML.load_file('file')
file["release"] = "#{new_version}"
file.open('file', 'w') { |f| YAML.dump(file, f) }