Pattern Match Funktion gegen leere Map
Ich spiele mit Pattern Match herum und habe festgestellt, dass es nicht ganz einfach ist, Pattern Match-Parameter einer Methode mit einer leeren Map zu vergleichen. Ich dachte, es würde so etwas gehen:
defmodule PatternMatch do
def modify(%{}) do
%{}
end
def modify(map) do
# expensive operation
%{ modified: "map" }
end
end
Aber es scheint, als würde die erste Funktionsklausel mit beliebigen Maps übereinstimmen:
iex> PatternMatch.modify(%{a: "map"})
==> %{}
Gibt es eine andere Möglichkeit, nach leeren Karten zu suchen?