{ :a => 'b'}.to_yaml
=> "---\n:a: b\n"
注意“---” 。但是很多yml文件并没有---开头。
“---”的官方文档用法概括如下:
YAML流可能包含几个独立的YAML文档。 文档标题行可用于文档开始,并且必须用于分隔流中的文档。
4.3.1.Document
A YAML stream may contain several independent YAML documents. A document header line may be used to start a document and must be used to separate documents within a stream.
注意:may是可选,must是必须。
所以文档开头可以不使用也可以使用。
测试
s = [{ :a => 'b'},{:a=>'c'}].to_yaml
=> "---\n- :a: b\n- :a: c\n"
o = YAML::load s[4..-1]
=> [{:a=>"b"}, {:a=>"c"}]
网友评论