乐趣区

关于后端:elixir-0062-快速赋值小技巧

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

退出移动版