Erlang - 宏脚本

Erlang - 宏脚本 首页 / Erlang入门教程 / Erlang - 宏脚本

宏通常用于内联代码替换,在Erlang中,宏是通过以下语句定义的。

  • -define(Constant,Replacement)。
  • -define(Func(Var1,Var2,..,Var),Replacement)。

以下是使用第一种语法的宏示例-

-module(helloLearnfk). 
-export([start/0]). 
-define(a,1). 

start() -> 
   io:fwrite("~w",[?a]).

上面程序的输出将是-

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

来源:LearnFk无涯教程网

1

使用函数类的宏的如下-

-module(helloLearnfk). 
-export([start/0]). 
-define(macro1(X,Y),{X+Y}). 

start() ->
   io:fwrite("~w",[?macro1(1,2)]).

上面程序的输出将是-

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

来源:LearnFk无涯教程网

{3}

以下附加语句可用于宏-

无涯教程网

  • undef(Macro)      -  取消定义宏,之后,您将无法调用该宏。

  • ifdef(Macro)        -  仅在定义了宏之后才执行以下各行。

  • ifndef(Macro)     -  仅当未定义Macro时才执行以下几行。

  • else                        - 在ifdef或ifndef语句之后允许。如果条件为假,则执行else之后的语句。

  • endif                      -  标签ifdef或ifndef语句的结尾。

使用上述语句时,应按照以下程序中所示的正确方式使用它。

-ifdef(<FlagName>).

-define(...).
-else.
-define(...).
-endif.

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

技术教程推荐

Service Mesh实践指南 -〔周晶〕

Go语言从入门到实战 -〔蔡超〕

MongoDB高手课 -〔唐建法(TJ)〕

深入浅出云计算 -〔何恺铎〕

跟月影学可视化 -〔月影〕

如何看懂一幅画 -〔罗桂霞〕

容量保障核心技术与实战 -〔吴骏龙〕

Dubbo源码剖析与实战 -〔何辉〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

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