[elixir! #0062] 快速赋值小技巧

elixir 里由于模式匹配的存在,在赋值多个变量时,咱们通常使用匹配的方式,例如:code

[a, b, c] = [1, 2, 3]

然而,若是咱们在编译时并不知道右边列表的长度,应该如何匹配呢?在 elixir 标准库中为咱们提供了 destructure/2 这个方便的宏:编译

destructure [a, b, c], [1, 2, 3, 4, 5]

自动匹配到前三个元素 [1, 2, 3]变量

若是右边的列表更短,则会自动填充上 nil:elixir

destructure [a, b, c], [1, 2]

获得 a = 1, b = 2, c = nilco

相关文章
相关标签/搜索