Я играю с совпадением с шаблоном, и я узнал, что не совсем легко сопоставить параметры сопоставления метода с пустой картой. Я думал, что это будет примерно так:
defmodule PatternMatch do
def modify(%{}) do
%{}
end
def modify(map) do
# expensive operation
%{ modified: "map" }
end
end
Но похоже, что первое предложение функции соответствует произвольным картам:
iex> PatternMatch.modify(%{a: "map"})
==> %{}
Есть ли другой способ проверить пустые карты?