to_yaml 方法产生了不错的 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
对我的好处是没有任何重复(例如'client:'只指定一次),数据和注释在一起,源可以输出为YAML,数据结构(conf中可用)可用于利用。