def request(method \\ :get, path) do
end
def request(method \\:get, path, params) do
end
编译引发
def request/3 defaults conflicts with def request/2
我不知道为什么我不能有两个参数模式匹配的def。
答案 0 :(得分:3)
request("post", "test")
时的成像情况。 post
是路径的方法或名称以及test
的相同故事 - 是路径还是参数?
我想最好的解决方案是简单地使用这个request
方法和三个参数,并使用params
作为可选参数。
def request(path, method \\ :get, params \\ nil) do
#logic
end
然后你可以在这个函数下面使用私有函数,其中一个使用guard when is_nil(params)
而另一个没有它。