Erlang - 函数

Erlang - 函数 首页 / Erlang入门教程 / Erlang - 函数

Fun用于在Erlang中定义匿名函数,匿名函数的一般语法如下:

F=fun (Arg1, Arg2, ... ArgN) ->
   ...
End
  • F                                    -  这是分配给匿名函数的变量名。

  • Arg1,Arg2,... ArgN  -  这些是传递给匿名函数的参数。

以下示例展示了如何使用匿名函数。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   A=fun() -> io:fwrite("Hello") end, 
   A().

当我们运行上面的程序时,我们将得到以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/erlang/erlang-funs.html

来源:LearnFk无涯教程网

Hello

匿名函数的另一个如下,但这是使用参数的情况。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   A=fun(X) -> 
      io:fwrite("~p~n",[X]) 
      end, 
   A(5).

当我们运行上面的程序时,我们将得到以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/erlang/erlang-funs.html

来源:LearnFk无涯教程网

5

使用变量

匿名函数具有访问匿名函数范围之外的变量的能力,让我们看一个示例-

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   B=6, 
   A=fun(X) -> 
      io:fwrite("~p~n",[X]), 
      io:fwrite("~p~n",[B]) 
      end, 
   A(5).

当我们运行上面的程序时,我们将得到以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/erlang/erlang-funs.html

来源:LearnFk无涯教程网

5
6

嵌套功能

高阶函数的另一个最强大的方面之一是,您可以在函数中定义一个函数。让我们来看一个如何实现此目标的示例。

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   Adder=fun(X) -> fun(Y) -> io:fwrite("~p~n",[X + Y]) end end, 
   A=Adder(6), 
   A(10).

当我们运行上面的程序时,我们将得到以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/erlang/erlang-funs.html

来源:LearnFk无涯教程网

16

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

玩转Git三剑客 -〔苏玲〕

TensorFlow快速入门与实战 -〔彭靖田〕

从0开始做增长 -〔刘津〕

即时消息技术剖析与实战 -〔袁武林〕

全栈工程师修炼指南 -〔熊燚(四火)〕

Web安全攻防实战 -〔王昊天〕

手把手带你搭建秒杀系统 -〔佘志东〕

说透元宇宙 -〔方军〕

超级访谈:对话毕玄 -〔毕玄〕

好记忆不如烂笔头。留下您的足迹吧 :)