不可变性
Elixir中,所有的值都是不可变的。
基础
原子
院子是常量,用于表示某些东西的名字,以冒号(:)开头
元组
元组被创建就无法修改,如:
{1, 2}
用于模式匹配
1
2
3
4
5
6
7
8
9 iex(4)> {status, count, action} = {:ok, 42, "next"}
{:ok, 42, "next"}
iex(5)> status
:ok
iex(6)> count
42
iex(7)> action
"next"
iex(8)>
散列表
1 | iex(9)> states = %{"AL" => "Alabama", "WI" => "Wisconsin"} |
匿名函数
函数定义
- 匿名函数用fn关键字创建;
- 函数定义中可以省略圆括号;
1 | iex(1)> sum = fn (a, b) -> a + b end |
函数重载
函数重载取决于传入的参数类型和内容,通过模式匹配来选择要运行的子句
1 | iex(1)> handle_open = fn |