【发布时间】:2016-01-28 12:06:39
【问题描述】:
在 elixir 中,可以用两种不同的方式定义“sum”函数:
def sum, do: 0
def sum(a), do: a
def sum(a, b), do: a + b
def sum(a, b, c), do: a + b + c
或
def sum() do 0 end
def sum(a) do a end
def sum(a,b) do a + b end
def sum(a,b,c) do a + b+ c end
我什至可以混合使用这两种方法:
def sum() do 0 end
def sum(a) do a end
def sum(a,b) do a + b end
def sum(a,b,c), do: a + b + c
我的问题是:为什么有两种方法可以达到相同的效果?在内联函数的情况下,第二个是首选吗?它们各自的优点是什么?
提前致谢!
【问题讨论】:
标签: elixir