Nik*_*kos 1 operators anonymous-function elixir
所以我正在阅读这本书,并在某些时候指出:
还有第二种形式的&function capture操作符.您可以为其指定现有函数的名称和arity(参数数量),它将返回一个调用它的匿名函数.
但我不明白为什么有人想要这样做.如果您愿意,可以将命名和未命名函数绑定到变量,从中可以获得什么好处.
有一些简单的函数是很常见的
Enum.map(list, fn(element) -> element.id end)
Run Code Online (Sandbox Code Playgroud)
要不就
Enum.map(list, &(&1.id))
Run Code Online (Sandbox Code Playgroud)
通过一些练习,第二个比第一个更容易阅读
关于您的问题,您也可以以相同的方式调用命名函数
Enum.map(list, &Integer.to_string/1)
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用函数将函数传递给Enum fn
Enum.map(list, fn(number) -> Integer.to_string(number) end)
Run Code Online (Sandbox Code Playgroud)
此外,捕获的变体更容易阅读.
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |