English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ferramentas online
- Macros são frequentemente usados para substituição de código inline. No Erlang, macros são definidos pela seguinte declaração.
-define(Constante, Substituição).1define(Func(Var2, Var
Aqui está um exemplo de macro usando a primeira sintaxe, Var), Substituição).-
-Exemplo -module(helloworld)./export([start -define(a,1). start() -> io:fwrite("~w",[?a]).
Do programa acima, você pode ver que o '?' expandiu o macro. O símbolo. Constantes serão substituídas pelos valores definidos no macro.
A saída do programa acima será-
Resultado da Saída
1
a seguir-
-Exemplo -module(helloworld)./export([start -0]).1define(macro+(X,Y),{X start() -> io:fwrite("~w",[?macro1(1,2)].
A saída do programa acima será-
Resultado da Saída
{3}
As seguintes instruções adicionais podem ser usadas em macros-
undef(Macro)-Macro não definido; a partir de agora, você não será capaz de chamar o macro.
ifdef(Macro) −Avalie as próximas linhas apenas se o macro estiver definido.
ifndef(Macro) −Avalie as próximas linhas apenas se o macro não estiver definido.
else−Permitido após as instruções ifdef ou ifndef. Se a condição for falsa, avalie as instruções após else.
endif −Marcar o final das instruções ifdef ou ifndef.
Ao usar as seguintes instruções, deve ser usada da maneira correta conforme mostrado no programa a seguir.
-ifdef(<NomeDoFlag>). -define(...). -else. -define(...). -endif.