gpt4 book ai didi

ruby - Psych YAML 解析包括注释

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

根据 http://yaml.org/spec/current.html#id2509980 YAML 文件中的注释是表示细节,不得出现在序列化/表示图中 (http://yaml.org/spec/current.html#representation/)。看起来 Psych 正在根据规范进行解析并丢失注释,这意味着当文件包含注释时,不可能解析 YAML 文件并以完全相同的方式再次序列化它。在我看来这很奇怪,因为注释在此类文件中确实很重要(例如配置)。

有谁知道是否可以使用现有库来解析评论,或者这是我自己完成所有操作的唯一方法吗?

最佳答案

我们也可以做一些类似的事情,这将改变键值并保留评论。

require 'yaml'
thing = YAML.load_file('/opt/database.yml')
hostname = thing["common"]["host_name"]
appname = thing["common"]["app_name"]
motdobj = IO.readlines('/opt/database.yml')
motdobj = motdobj.map {|s| s.gsub(hostname, "mrigesh")}
motdobj = motdobj.map {|s| s.gsub(appname, "abc")}

File.open('/opt/database.yml', "w" ) do | file1 |
file1.puts motdobj
file1.close
end

关于ruby - Psych YAML 解析包括注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11734672/

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