English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Les macros sont généralement utilisées pour remplacer le code en ligne. En Erlang, les macros sont définies par la following statement.
- define(Constante, Remplacement).
-define(Func(Var1, Var2,.., Var), Remplacement).
Voici un exemple de macro utilisant la première syntaxe-
-Exemple -module(helloworld)./export([start -define(a,1). start() -> io:fwrite("~w",[?a]).
Dans le programme ci-dessus, vous pouvez voir que l'extension de la macro est utilisée avec '?'. Les constantes symboliques seront remplacées par les valeurs définies dans la macro.
La sortie du programme suivant sera-
Résultat de la sortie
1
Voici un exemple d'utilisation des macros de fonctions-
-Exemple -module(helloworld)./export([start -0]).1define(macro+(X,Y),{X start() -> io:fwrite("~w",[?macro1(1,2]).
La sortie du programme suivant sera-
Résultat de la sortie
{3}
Les instructions suivantes peuvent être utilisées pour les macros-
undef(Macro)-Le macro n'est pas défini ; par conséquent, vous ne pourrez pas appeler le macro.
ifdef(Macro) −Évaluer les lignes suivantes uniquement si le宏est défini.
ifndef(Macro) −Évaluer les lignes suivantes uniquement si le宏n'est pas défini.
else−Permettre après une instruction ifdef ou ifndef. Si la condition est fausse, évaluer les instructions après else.
endif −Marquer la fin des instructions ifdef ou ifndef avec le marqueur -.
Lorsque vous utilisez ces instructions, vous devez les utiliser de la manière correcte comme indiqué dans le programme suivant.
-ifdef(<NomDeDrapeau>). -define(...). -else. -define(...). -endif.