Erlang:列表展平

Erlang:列表展平,erlang,Erlang,我是Erlang的新手,我正在尝试编写一些函数,对于给定的N->2,4,…,它将返回以下几何级数。。。。2^N作为列表。 我写了一些代码: -module(mymod). -export([create_list/1]). create_list(1) -> [2]; create_list(N) when N>1 -> lists:flatten([create_list(N-1)]++[trunc(math:pow(2, N))]). 它在29岁之前工作正常,但在我

我是Erlang的新手,我正在尝试编写一些函数,对于给定的
N->2,4,…,它将返回以下几何级数。。。。2^N
作为列表。 我写了一些代码:

-module(mymod).
-export([create_list/1]).

create_list(1) -> [2];
create_list(N) when N>1 ->
  lists:flatten([create_list(N-1)]++[trunc(math:pow(2, N))]).
它在29岁之前工作正常,但在我通过30岁及以上之后,它返回相同的结果:
[2,4,8,16,32,6412825651210242048409681921638432768,
65536,131072,262144,524288,1048576,2097152,4194304,8388608,
16777216335554432671088641342177228268435545636870912 |…]


也就是说,只有前29个任期。如何完全显示?

注意显示列表末尾的
[|…]
。这意味着,为了便于打印,Erlang shell会在一段长度后截断它


强制打印整个列表的一种方法是调用
io:format(“~p~n”,[create\u list(30)])
您可以强制shell使用
rp(create\u list(30))
打印整个结果,或者如果您需要打印unicode字符串,请尝试io:format(~ts~n),[YourData])