Elixir语言中 Function
相关用法介绍如下。
一组用于处理函数的函数。
匿名函数通常使用 fn
创建:
iex> add = fn a, b -> a + b end
iex> add.(1, 2)
3
匿名函数也可以有多个子句。所有子句都应该期望相同数量的参数:
iex> negate = fn
...> true -> false
...> false -> true
...> end
iex> negate.(false)
true
捕获运算符
也可以使用捕获操作符
捕获公共模块函数并像匿名函数一样传递它们:Kernel.SpecialForms.&/1
iex> add = &Kernel.+/2
iex> add.(1, 2)
3
iex> length = &String.length/1
iex> length.("hello")
5
要捕获当前模块中的定义,您可以跳过模块前缀,例如 &my_fun/2
。在这些情况下,捕获的函数可以是公共的(def
)或私有的(defp
)。
捕获运算符也可用于创建至少需要一个参数的匿名函数:
iex> add = &(&1 + &2)
iex> add.(1, 2)
3
在这种情况下,使用捕获运算符与使用 fn
没有什么不同。
内部和外部函数
我们说指向驻留在模块中的定义的函数,例如 &String.length/1
,是外部函数。所有其他函数都是本地的,它们总是绑定到定义它们的文件或模块。
除了此模块中用于处理函数的函数之外,
还有一个 Kernel
函数,它调用具有动态参数数量的函数,以及 apply/2
和 is_function/1
,分别检查给定值是否是给定数量的函数或函数。is_function/2
相关用法
- Elixir Function.identity用法及代码示例
- Elixir Function.info用法及代码示例
- Elixir Function.capture用法及代码示例
- Elixir Float.to_charlist用法及代码示例
- Elixir Float.ratio用法及代码示例
- Elixir File.cp_r用法及代码示例
- Elixir File.rm用法及代码示例
- Elixir Float.to_string用法及代码示例
- Elixir File.rmdir用法及代码示例
- Elixir File.exists?用法及代码示例
- Elixir File用法及代码示例
- Elixir File.touch!用法及代码示例
- Elixir File.stream!用法及代码示例
- Elixir File.rename用法及代码示例
- Elixir File.open用法及代码示例
- Elixir Float.ceil用法及代码示例
- Elixir Float.pow用法及代码示例
- Elixir File.rm_rf用法及代码示例
- Elixir File.regular?用法及代码示例
- Elixir File.touch用法及代码示例
- Elixir Float.round用法及代码示例
- Elixir Float.floor用法及代码示例
- Elixir File.dir?用法及代码示例
- Elixir Float.parse用法及代码示例
- Elixir StringIO.flush用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。