Elixir 中的条件分支与循环迭代
1. 多子句匿名函数
匿名函数(lambda)也可以由多个子句组成。首先,回顾一下定义和使用 lambda 的基本方式:
iex(1)> double = fn x -> x * 2 end # 定义一个 lambda
iex(2)> double.(3) # 调用 lambda
6
一般的 lambda 语法如下:
fn
pattern_1, pattern_2 ->
... # 如果 pattern_1 匹配第一个参数且 pattern_2 匹配第二个参数,则执行此块
pattern_3, pattern_4 ->
... # 如果 pattern_3 匹配第一个参数且 pattern_4 匹配第二个参数,则执行此块
...
end
下面通过重新实现 test/1 函数来查看其实际应用,该函数用于检查一个数字是正数、负数还是零:
iex(3)> test_num =
fn
x when is_number(x) and x < 0 -> :negative
超级会员免费看
订阅专栏 解锁全文
5567

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



