Elixir编程:代码组织与类型系统详解
1. 函数元数
元数描述了函数接收的参数数量。一个函数由其所在模块、名称和元数唯一标识。例如:
defmodule Rectangle do
def area(a, b) do
...
end
end
Rectangle.area 函数接收两个参数,因此它的元数为 2,在 Elixir 中常表示为 Rectangle.area/2 。
具有相同名称但不同元数的函数是不同的函数。例如:
defmodule Rectangle do
def area(a), do: area(a, a)
def area(a, b), do: a * b
end
在 shell 中测试:
iex(1)> Rectangle.area(5)
25
iex(2)> Rectangle.area(5, 6)
30
通常,低元数函数会委托给高元数函数,并提供一些默认参数。例如:
defmodule Calculator do
def add(a), do: add(a, 0)
def add(a, b), do: a + b
end
<
超级会员免费看
订阅专栏 解锁全文
575

被折叠的 条评论
为什么被折叠?



