Ruby 中 YAML 与 gdbm 在联系人管理中的应用
1. YAML 实现数据持久化
YAML 可以方便地将对象序列化为字符串,并且将这些字符串保存到文件也并不困难。通过运行测试,会创建一个名为 “contacts” 的文件,其中包含了 Joe Smith 联系人的 YAML 表示。以下是该文件的示例:
---
- !ruby/object:Contact
email: joe@somewhere.abc
extras:
:instrument: Cello
home:
:city: Somewhere
:street1: 123 Main Street
name: Joe Smith
work:
:phone: (000) 123-4567
我们不需要修改前两行,它们是 YAML 的相关内容。可以修改字符串的值或添加更多数据,下次使用 Contact 类时,这些更改都会被吸收到内存中的 Contact 对象中。YAML 虽然不一定能严格称为数据库,但它具有类似数据库的属性,并且易于编辑。
2. gdbm 数据库介绍
Ruby 自带了 DBM、gdbm 和 sdbm 数据库库的包装器。这些库属于一个家族,原始成员是 DBM,GNU 数据库管理器版本是 gdbm,sdbm 是基于早期 ndbm 的公共领域版本。这里我们主要关注 gdbm,不过示例代码也适用于 Ruby 包含的其他三个 *dbm 库。
2.1 问题提出
当需要一个简单的联系人管理器,并且要与可能无法
超级会员免费看
订阅专栏 解锁全文
9

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



