Referenz - MACRO (Meta)
Syntax:
#MACRO Bezeichner ( [Parameterliste [...]] )
' Makro-Code
#ENDMACRO
Typ: Metabefehl
Kategorie: Metabefehle
#MACRO erstellt ebenso wie #DEFINE ein Makro, ermöglicht aber die Erstellung mehrzeiliger Makros.
- 'Bezeichner' ist der Name des zu erstellenden Makros.
- 'Parameterliste' ist eine Liste von Parametern, von denen das Makro abhängig ist. Dafür müssen Variablen verwendet werden, die bis dahin noch nicht verwendet wurden. Die Parameterliste ist optional.
- Die Verwendung der Ellipsis ... (Auslassung) hinter dem letzten Parameter eines Makros erlaubt es, Makros mit variabler Anzahl von Parametern zu erzeugen. Siehe dazu #DEFINE.
- 'Makro-Code' ist ein normaler FreeBASIC-Programmcode. In ihm dürfen die in 'Parameterliste' spezifizierten Variablen vorkommen.
Taucht nach der Definition eines Makros sein Bezeichner im Code auf, so wird der Bezeichner durch den Makro-Code ersetzt. Ebenso ersetzt FreeBASIC die Parameter der Parameterliste durch die beim Aufruf angegebenen Parameter. Das Auslassen von Parametern ist bei Makros nicht möglich.
Mit #IFDEF, #IFNDEF und DEFINED kann überprüft werden, ob ein Makro definiert wurde. Mit #UNDEF kann ein Makro gelöscht werden, z. B. um den Bezeichner als Variable zu benutzen oder um ihn mit einem neuen Makro zu belegen.
Beispiel 1:
#MACRO Add(a, b)
a + b
#endmacro
PRINT Add("Hello", " World")
PRINT Add(1, 2)
Ausgabe:
Hello World
3
Beispiel 2:
#macro Print2(a, b)
Print a;
Print " ";
Print b;
Print "!"
#endmacro
Print2("Hello", "World")
Ausgabe:
Hello World!
Unterschiede zu QB: neu in FreeBASIC
Unterschiede zu früheren Versionen von FreeBASIC:
- Seit der SVN-Version 0.22 kann man eine variable Anzahl von Parametern verwenden.
- MACRO existiert seit FreeBASIC v0.17.
Siehe auch:
#ENDMACRO, DEFINE (Meta), UNDEF (Metabefehl), IFDEF (Meta), IFNDEF (Meta), DEFINED, Präprozessoren, Präprozessor-Anweisungen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|