Ruby:
使用YAML工作

如何操作:

Ruby 内置了一个名为 Psych 的库,用于解析和生成 YAML。要使用它,首先需要加载 YAML 标准库。这里有一个基础示例帮你入门:

require 'yaml'

# 将要序列化的哈希
person = { name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"] }

# 将哈希转换为 YAML
yaml_data = person.to_yaml

puts yaml_data

示例输出:

---
:name: John Doe
:age: 30
:skills:
- Ruby
- JavaScript

要将 YAML 数据加载回 Ruby 对象:

loaded_person = YAML.load(yaml_data)

puts loaded_person

示例输出:

{name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"]}

使用第三方库:

尽管标准库足以完成基本任务,但对于复杂需求,你可能会考虑使用像 ‘safe_yaml’ 这样的第三方 gem。要使用这类库,首先必须安装 gem:

gem install safe_yaml

然后,你可以使用它来安全地加载 YAML 数据,减轻了用户控制源对象实例化的风险:

require 'safe_yaml'

safe_loaded_person = SafeYAML.load(yaml_data)

puts safe_loaded_person

示例输出:

{name: "John Doe", age: 30, skills: ["Ruby", "JavaScript"]}

这种方法增强了你处理 YAML 的安全性,使其成为从不可信来源加载 YAML 的应用程序的不错选择。