gpt4 book ai didi

Erlang++ 运算符。语法糖,还是单独操作?

转载 作者:行者123 更新时间:2023-12-02 23:29:22 25 4
gpt4 key购买 nike

Erlang 的 ++ 运算符只是 lists:concat 的语法糖还是完全不同的操作?我尝试过搜索此内容,但不可能通过 Google 搜索“++”并获得任何有用的信息。

最佳答案

这就是 lists:concat/1 在 stdlib/lists 模块中的实现方式:

concat(List) ->
flatmap(fun thing_to_list/1, List).

地点:

flatmap(F, [Hd|Tail]) ->
F(Hd) ++ flatmap(F, Tail);
flatmap(F, []) when is_function(F, 1) -> [].

和:

thing_to_list(X) when is_integer(X) -> integer_to_list(X);
thing_to_list(X) when is_float(X) -> float_to_list(X);
thing_to_list(X) when is_atom(X) -> atom_to_list(X);
thing_to_list(X) when is_list(X) -> X. %Assumed to be a string

因此,lists:concat/1 实际上使用了“++”运算符。

关于Erlang++ 运算符。语法糖,还是单独操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5339176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com