【发布时间】:2018-07-17 04:24:42
【问题描述】:
给定
[<<"1 coin">>, <<"2 cash">>, <<"3 coin">>]
我想要:
<<"1 coin, 2 cash, 3 coin">>
我怎样才能做到这一点?
【问题讨论】:
标签: erlang
给定
[<<"1 coin">>, <<"2 cash">>, <<"3 coin">>]
我想要:
<<"1 coin, 2 cash, 3 coin">>
我怎样才能做到这一点?
【问题讨论】:
标签: erlang
连接两个二进制文件的方法是<<B1/binary, B2/binary>>。它不经常使用,因为二进制文件列表通常被称为 iolist,并且由 Erlang 中的大多数库直接操作。
由于您不仅要展平列表,还要在每个术语之间添加", ",您可以编写自己的递归函数或使用列表:foldl/3:
1> Concat = fun(L) -> [H|T] = lists:reverse(L), lists:foldl(fun(X,Acc) -> <<X/binary,", ",Acc/binary>> end, H, T) end.
#Fun<erl_eval.6.90072148>
2> Concat([<<"1 coin">>, <<"2 cash">>, <<"3 coin">>]).
<<"1 coin, 2 cash, 3 coin">>
3>
【讨论】: