我需要比較 yaml 檔案以識別其中的差異,為此我需要 yaml 檔案以相同的根密鑰開頭。是否可以在 ruby?? 中更新 yaml 根密鑰?(注意:不是yml檔案中的值)
Yaml 檔案示例:
person:
name: abc
age: 10
address: xyz
我的要求是更新 yaml 檔案,如下所示。
student:
name: abc
age: 10
address: xyz
在此先感謝您的幫助!!!
uj5u.com熱心網友回復:
我不是 100% 確定你在找什么,但是一旦你加載了 yaml,你最終會得到一個 ruby?? 哈希。然后,您可以為根密鑰創建一個具有新名稱的新哈希。
例如這個:
require 'yaml'
input =
"person:
name: abc
age: 10
address: xyz"
obj = YAML.load(input)
new_obj = {"student" => obj["person"]}
output = YAML.dump(new_obj)
puts output
將列印:
---
student:
name: abc
age: 10
address: xyz
如果出于某種原因您不想要檔案標題“---”,您可以將其洗掉。
no_header = output.split("\n").drop(1).join("\n")
puts no_header
這將列印:
student:
name: abc
age: 10
address: xyz
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/456268.html
上一篇:Ruby按變數條件劃分陣列陣列
