to_yaml方法會生成很好的YAML輸出,但我想在某些元素之前包含註釋行。有沒有辦法做到這一點?可以使用Ruby的YAML模塊來嵌入註釋嗎?
例如,我想製作:
# hostname or IP address of client
client: host4.example.com
# hostname or IP address of server
server: 192.168.222.222
從類似於:
{
:client => 'host4.example.com',
:server => '192.168.222.222',
}.to_yaml
...但我不知道如果YAML模塊甚至有一種方式來完成。
更新:我最終沒有使用正則表達式插入註釋的解決方案,因爲它需要從註釋中分離數據。對我來說,最簡單,最易懂的解決方案是:
require 'yaml'
source = <<SOURCE
# hostname or IP address of client
client: host4.example.com
# hostname or IP address of server
server: 192.168.222.222
SOURCE
conf = YAML::load(source)
puts source
對我的好處是沒有重複(例如,「客戶:」只指定一次),數據和評論在一起,來源可作爲YAML輸出,並且數據結構(在conf中可用)可供使用。
你嘗試過什麼?是什麼讓你覺得它不起作用? http://yaml.org/spec/current.html#id2509980 –
增加了額外的細節。 – sutch