Ruby 中 YAML 与 Marshal 的数据序列化与反序列化
在 Ruby 编程中,数据的序列化与反序列化是非常重要的操作,它可以帮助我们将数据保存到磁盘,或者在不同的程序之间传递数据。YAML 和 Marshal 是 Ruby 中常用的两种数据序列化工具,下面将详细介绍它们的使用方法和特点。
1. YAML 的使用
YAML(YAML Ain’t Markup Language)是一种人类可读的数据序列化格式,常用于配置文件和数据交换。
1.1 嵌套序列
当相关的数据序列(如数组)嵌套在其他数据序列中时,YAML 使用缩进表示这种嵌套关系。例如,在 Ruby 中定义一个嵌套数组:
# nested_arrays.rb
arr = [1,[2,3,[4,5,6,[7,8,9,10],"end3"],"end2"],"end1"]
将其转换为 YAML 格式后如下:
---
- 1
- - 2
- 3
- - 4
- 5
- 6
- - 7
- 8
- 9
- 10
- end3
- end2
- end1
1.2 保存 YAML 数据
可以使用 dump 方法将 Ruby 对象转换为 YAML 格式。最简单的用法是将数据转换为 YAML 字符串:
超级会员免费看
订阅专栏 解锁全文
1521

被折叠的 条评论
为什么被折叠?



