模块 YAML
YAML
不是标记语言
此模块为 Ruby 提供了 YAML
格式的数据序列化接口。
YAML
模块是 Psych
的别名,YAML
是 Ruby 的引擎。
用法¶ ↑
使用 YAML
可以非常简单,例如
require 'yaml' # Parse a YAML string YAML.load("--- foo") #=> "foo" # Emit some YAML YAML.dump("foo") # => "--- foo\n...\n" { :a => 'b'}.to_yaml # => "---\n:a: b\n"
由于实现是由 Psych
库提供的,因此可以在该库的文档中找到详细的文档(也是标准库的一部分)。
安全性¶ ↑
不要使用 YAML
加载不可信数据。这样做是不安全的,可能会允许恶意输入在您的应用程序中执行任意代码。有关更多信息,请参阅 doc/security.rdoc。
历史¶ ↑
Syck 是 Ruby 标准库中最初的 YAML
实现,由 why the lucky stiff 开发。
如果您愿意,仍然可以使用 Syck 来解析和输出 YAML
,但您现在必须安装 'syck' gem 才能使用它。
在旧版本的 Ruby 中,例如 <= 1.9,仍然提供 Syck,但是它在 Ruby 2.0.0 发布时被完全删除了。
更多信息¶ ↑
有关实现的更多高级细节,请参阅 Psych
,并查看 yaml.org 以获取规范详细信息和其他有用信息。
Psych
由 Aaron Patterson 在 github 上维护:github.com/ruby/psych
Syck 也可以在 github 上找到:github.com/ruby/syck
常量
- LOADER_VERSION