我听说过术语“前端”和“后端”是指在非 YAML 文件的开头或结尾处的一些 YAML 解析。但是,我似乎找不到任何关于如何实现这一点的示例/文档。也许这不是标准的 YAML 功能。如何在我的 Ruby 项目中使用此功能?
仅供参考:我想这样做的原因是能够在顶部需要一些 ruby 文件,并假设其余的是 YAML。我认为 YAML 文件中通常不允许这样做。
我刚刚遇到了一个很好的例子,类似于我正在尝试做的事情。它不一定是“前/后问题”的一个例子,但它可能会在未来帮助某人:
使用__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