Erlang Thursday今天要讲的函数是 lists:flatten/1。
lists:flatten/1 函数将一个任意深度的由Erlang的term组成的列表展平为一个“扁平”的列表。
|
|
注意!它会把所有的列表都展平,比如下面的例子:
|
|
上面的例子,你得到的结果有整数在列表里,因为字符串实际上在底层就是一个整数列表,所以你得到的是字符串“foo”里f和o的ASCII字符码。
如果你要保留字符串的格式,你必须使用二进制格式的字符串,如下所示:
|
|
作为一个奖励,还有一个lists:flatten/2 函数,它将一个列表展平,并且接收另外一个入参 Tail,这个入参将附加在展平列表的后面从而形成一个新的列表,例子如下:
|
|
原文链接: https://www.proctor-it.com/erlang-thursday-lists-flatten-1/