如何将一个函数传递给 elixir 中同一模块中的另一个函数?

时间:2021-04-28 10:42:18

标签: elixir

在python中,我们可以将一个函数传递给另一个函数,如下面的示例代码。

def digits(n):
    return list(map(int, str(n)))

def digit_cube(n):
    return list(map(lambda x: x ** 3, digits(n)))

在长生不老药中也可以这样做吗?如果是,如何?

1 个答案:

答案 0 :(得分:7)

可以传递匿名函数

f = fn e -> e * 2 end
Enum.map([1, 2, 3], f)

或使用 &/1

捕获现有函数
defmodule M do
  def dbl(e), do: e * 2
  def map_dbl(list) do
    Enum.map(list, &dbl/1)
  end
end
相关问题