Следующий код скопирован из «Эликсир в действии», опубликованный Manning.Использование `|` при создании новой структуры
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
Я не понимаю, использование todo_list |
в конце функции add
при создании нового TodoList
. Я попытался полностью удалить его и не мог увидеть разницу в результате. Может ли кто-нибудь объяснить мне, чего он добивается?