我听说过术语“前面的内容”和“后面的内容”来指代非YAML文件开头或结尾的一些YAML解析。但是,我似乎无法找到任何关于如何实现这一点的示例/文档。也许这不是标准的YAML功能。如何在Ruby项目中使用此功能?
仅供参考:我想这样做的原因是能够在顶部需要一些ruby文件,并假设其余的是YAML。我不认为这通常是在YAML文件中允许的。
答案 0 :(得分:1)
我刚刚遇到了一个类似于我想要做的事情的好例子。它不一定是“前/后物质”的一个例子,但它可能在将来帮助某人:
使用__END__
关键字,可以阻止ruby解析文件的其余部分。文件的其余部分存储在DATA
变量中,该变量实际上是File
对象:
#!/usr/bin/env ruby
%w(yaml pp).each { |dep| require dep }
obj = YAML::load(DATA)
pp obj
__END__
---
-
name: Adam
age: 28
admin: true
-
name: Maggie
age: 28
admin: false