English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Macros do Erlang

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).-

Exemplos de uso de macros de classes de funçã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-

Exemplos de uso de macros de classes de função

-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.