Qual é o objetivo do símbolo "|>" no Elixir?
Pesquisei os documentos Elixir e Phoenix, além de alguns outros sites comoLearn Elixir sem sorte. Aqui está o que parece:
defp update_positions(item_ids) do
item_ids = String.split(item_ids, ",")
|> Enum.map fn item_id -> String.to_integer(item_id) end
items = Repo.all(Item |> where([item], item.id in array(^item_ids, :integer)))
item_hash = Enum.reduce items, %{}, fn item, map -> Map.put(map, item.id, item) end
item_ids
|> Stream.with_index
|> Enum.each fn {item_id, index} ->
item = item_hash[item_id]
Repo.update(%{item | position: index + 1})
end
end
No começo, pensei que era apenas um símbolo de continuação de linha para manter o código legível, mas oItem |> where
a linha acima sugere o contrário. É uma compreensão da lista ou algo que especifica os tipos de entrada?