【发布时间】:2016-05-29 17:49:20
【问题描述】:
我创建了一个如下所示的模块:
defmodule Sum do
def sum(x,y) do
x + y
end
def sum(x) do
x
end
end
当然,它可以像我预期的那样使用模式匹配:
iex(2)> Sum.sum(3)
3
iex(3)> Sum.sum(3,5)
8
当我定义一个匿名函数时:
iex(1)> sum = fn
...(1)> x, y -> x + y
...(1)> x -> x
...(1)> end
** (CompileError) iex:1: cannot mix clauses with different arities in function definition
然后编译器抱怨。为什么我不能与不同的 arities 混合使用,上面的示例带有模块,它就像一个魅力。
【问题讨论】:
标签: elixir