Raute in Makros

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Raute in Makros

Beitrag von Mok »

Heyho.
Ich sehe hin und wieder Macros, in denen nach manchen Macro-Parametern eine Raute steht. Wozu ist das gut?

Code: Alles auswählen

Macro Test (param)
  Debug param
EndMacro
; liefert dasselbe wie
Macro Test (param)
  Debug param#
EndMacro
Nachdem Macro-Aufrufe vom Compiler einfach nur ersetzt werden, müsste die Raute das ganze ja fehlerhaft machen...

Code: Alles auswählen

;Ursprungscode:
Macro Test (param)
  Debug param#
Endmacro
Test(4)

;Code nach dem Kompilieren:
Debug 4# ;<- fehlerhaft?!
Gruß, Mok
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Raute in Makros

Beitrag von RSBasic »

Mok hat geschrieben:Ich sehe hin und wieder Macros, in denen nach manchen Macro-Parametern eine Raute steht. Wozu ist das gut?
PureBasic-Hilfe hat geschrieben:[...]Die Makros können rekursiv verwendet werden; wenn jedoch der übergebene Parameter das Verkettungszeichen '#' beinhaltet, wird es nicht erweitert.
[...]
Das spezielle Verknüpfungszeichen '#' kann benutzt werden, um neue Labels oder Keywords (Schlüsselwörter) durch Mischen von Makro-Code und Parameter-Ausdrücken zu erschaffen (Leerzeichen zwischen jedem Wort werden durch das Verknüpfungszeichen nicht akzeptiert).
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Raute in Makros

Beitrag von ts-soft »

TFM hat folgendes Beispiel:

Code: Alles auswählen

  Macro XCase(Type, Text)
    Type#Case(Text)
  EndMacro

  Debug XCase(U, "Hello")
  Debug XCase(L, "Hello")
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten