Makros
Mit Makros lassen sich Anweisungen formulieren, die erst zur Laufzeit
Kompiliert werden.
1
2
3
4
LOCAL someAction
someAction = "? 'Hello', ' ', 'World'"
&someAction
Hello World
Hello World
Was nicht geht
Mit Makros können keine Codepfade hinzugefügt werden:
1
2
3
4
5
6
7
LOCAL else
else = "ELSE"
IF .F.
&else
? "Fehler"
ENDIF
Kompatiblität mit FoxPro
DO macht keine Makrosubstitution innerhalb
von String-Literalen, zum Beispiel:
1
2
3
4
5
6
7
8
9
foo = "woo"
? get_api_call("apikey12345")
FUNCTION get_api_call(apiKey AS String)
RETURN "https://www.google.de?moo=" + apiKey + "&foo=2"
ENDFUNC
https://www.google.de?moo=apikey12345&