Elixir中的数据抽象与多态性实践
1. 调试工具介绍
在编程过程中,调试是一项重要的工作。 IO.inspect/1 函数可以打印数据结构,并且返回原数据结构,不会对其进行修改。另外, dbg 宏(https://hexdocs.pm/elixir/Kernel.html#dbg/2)也有类似功能,并且提供了更多的调试特性。
2. 处理分层数据
2.1 生成ID
为了给待办事项列表(TodoList)提供基本的CRUD(创建、读取、更新、删除)支持,需要为每个条目添加唯一的ID值。具体操作如下:
- 将待办事项列表表示为结构体 :待办事项列表需要保存两个信息,即条目集合和下一个条目的ID值。
- 使用条目的ID作为键 :之前使用条目的日期作为键存储条目,现在改为使用条目的ID,这样可以更方便地插入、更新和删除单个条目。
以下是相关代码实现:
defmodule TodoList do
defstruct next_id: 1, entries: %{}
def new(), do: %TodoList{}
...
end
next_id 字段存储了新条目添加时将被分配的ID值, entries 字段是条目的集合,使用ID作为键。在结构体定义时,为 next_id
超级会员免费看
订阅专栏 解锁全文
25

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



