如何在Elixir中连接数组?
如果我有两个数组:
[1, 2]
和
[3, 4]
我如何将它们串联为:
[1, 2, 3, 4]
您可以使用++ / 2函数连接列表(而不是数组)。
但是,通常在函数式编程中,您将使用cons(|
)运算符建立一个列表,如下所示:
a = [] # []
b = ["foo" | a] # ["foo"] ["foo" | []]
c = ["bar" | b] # ["bar", "foo"] ["bar" | ["foo" | []]]
这等效于:
a = [] # []
b = ["foo" | a] # ["foo" | []]
c = ["bar" | b] # ["bar" | ["foo" | []]]
您可能已经在模式匹配中看到了此运算符:
["bar" | tail] = ["bar", "foo"] #tail is now ["foo"]
您经常会看到使用此技术构建的列表,然后在函数调用结束时将其取反,以与使用列表串联相同的顺序获得结果(例如Enum.filter / 2)。这个答案很好地解释了。Erlang:可以不用list:reverse吗?
您可以在http://elixir-lang.org/getting-started/basic-types.html#lists-or-tuples上了解有关列表数据类型的更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句