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