模块 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