elixir 里因为模式匹配的存在,在赋值多个变量时,我们一般使用匹配的方式,例如:
[a, b, c] = [1, 2, 3]
然而,如果我们在编译时并不知道右边列表的长度,应该如何匹配呢?在 elixir 标准库中为我们提供了 destructure/2
这个方便的宏:
destructure [a, b, c], [1, 2, 3, 4, 5]
自动匹配到前三个元素 [1, 2, 3]
。
如果右边的列表更短,则会自动填充上 nil:
destructure [a, b, c], [1, 2]
得到 a = 1, b = 2, c = nil
。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。