4
以下代碼是由Manning發佈的'Elixir in Action'複製粘貼的。實例化新結構時使用`|'
defmodule TodoList do
defstruct auto_id: 1, entries: HashDict.new
def new, do: %TodoList{}
def add(
%TodoList{entries: entries, auto_id: auto_id} = todo_list,
entry) do
entry = Map.put(entry, :id, auto_id)
new_entries = HashDict.put(entries, auto_id, entry)
%TodoList{ todo_list |
entries: new_entries,
auto_id: auto_id + 1
}
end
end
創建新TodoList
時,我不明白在add
函數的末尾使用todo_list |
。我試圖徹底刪除它,結果無法看到差異。任何人都可以向我解釋它實現了什麼?