使用定义为原子或字符串的键在Map上匹配的最佳做法是什么?
%{"artist" => artist, "track" => track, "year" => year}
Run Code Online (Sandbox Code Playgroud)
VS
%{artist: artist, track: track, year: year}
Run Code Online (Sandbox Code Playgroud)
功能需要匹配两者:
def duplicate_post(%{"artist" => artist, "track" => track, "year" => year}) do
...
end
Run Code Online (Sandbox Code Playgroud)
我能想到的最好的方法是定义函数两次,每种输入一次,并从另一种调用其中一种.
def duplicate_post(%{"artist" => artist, "track" => track, "year" => year}) do
duplicate_post(%{artist: artist, track: track, year: year})
end
def duplicate_post(%{artist: artist, track: track, year: year}) do
...
end
Run Code Online (Sandbox Code Playgroud)