English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
매크로는 일반적으로 인라인 코드 대체에 사용됩니다. Erlang에서 매크로는 다음 문장을 통해 정의됩니다.
- define(Constant, 대체).
-define(Func(Var1, Var2,.., Var), 대체).
첫 번째 문법을 사용한 매크로 예제는 다음과 같습니다-
-module(helloworld). -export([start/0]). -define(a,1). start() -> io:fwrite("~w",[?a]).
위의 프로그램에서 '؟' 확장자를 사용하여 매크로를 볼 수 있습니다. 상징. 상수는 매크로에서 정의된 값으로 대체됩니다.
위 프로그램의 출력은 다음과 같습니다-
출력 결과
1
使用函数类的宏的示例如下-
-module(helloworld). -export([start/0]). -define(macro1(X,Y),{X+Y}). start() -> io:fwrite("~w",[?macro1(1,2
위 프로그램의 출력은 다음과 같습니다-
출력 결과
{3}
다음 추가 문장은 매크로에 사용할 수 있습니다-
undef(Macro)-마크로가 정의되지 않았습니다;그 이후로 마크로를 호출할 수 없습니다.
ifdef(Macro) −마크로가 정의되었을 때만 다음 몇 줄을 평가.
ifndef(Macro) −마크로가 정의되지 않았을 때만 다음 몇 줄을 평가.
else−ifdef 또는 ifndef 문장 이후에 허용.
endif −ifdef 또는 ifndef 문장의 끝을 −표시.
위의 문장을 사용할 때는 다음 프로그램에서 보여지는 올바른 방식으로 사용해야 합니다.
-ifdef(<FlagName>). -define(...). -else. -define(...). -endif.