【发布时间】:2017-06-24 12:43:40
【问题描述】:
我需要将 Elixir 函数转换为 Erlang 函数: 在 Elixir 中,我有:
Enum.map(0..n, fn i-> fun(i) end)
而且我需要重写 Erlang。
有什么想法吗?谢谢
【问题讨论】:
我需要将 Elixir 函数转换为 Erlang 函数: 在 Elixir 中,我有:
Enum.map(0..n, fn i-> fun(i) end)
而且我需要重写 Erlang。
有什么想法吗?谢谢
【问题讨论】:
Erlang 没有一个通用函数可以处理任何数据结构的映射,例如 Elixir 中的Enum.map。最简单的方法是使用lists:seq 生成列表并使用lists:map:
1> lists:map(fun(X) -> X * X end, lists:seq(0, 10)).
[0,1,4,9,16,25,36,49,64,81,100]
【讨论】:
使用列表推导:
[ F(X) || X <- lists:seq(0, 10) ].
又名
[ X*X || X <- lists:seq(0, 10) ].
【讨论】: