模块 YAML

YAML 不是标记语言

此模块为以 YAML 格式进行数据序列化提供了一个 Ruby 接口。

YAML 模块是 Psych 的别名,它是 Ruby 的 YAML 引擎。

用法

使用 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 是 why the lucky stiff 开发的 Ruby 标准库中最初的 YAML 实现。

如果您愿意,仍然可以使用 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