如何在Ruby中使用YAML前后问题?

时间:2013-08-26 04:14:32

标签: ruby yaml

我听说过术语“前面的内容”和“后面的内容”来指代非YAML文件开头或结尾的一些YAML解析。但是,我似乎无法找到任何关于如何实现这一点的示例/文档。也许这不是标准的YAML功能。如何在Ruby项目中使用此功能?

仅供参考:我想这样做的原因是能够在顶部需要一些ruby文件,并假设其余的是YAML。我不认为这通常是在YAML文件中允许的。

1 个答案:

答案 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

Source