Page 1 of 1

Sonderzeichen in Variablen

Posted: 13 Jun 2022, 23:11
by Stroker-007
Wie verwendet man erfolgreich diese Problemkinder
- . + =
im folgenden Skript:

Code: Select all

#SingleInstance Force

clipboard := "Sonnenschein"

aaa_bbb := clipboard ;        funktioniert
MsgBox %aaa_bbb%

aaa-bbb := clipboard ;        funktioniert NICHT
MsgBox %aaa-bbb%

aaa.bbb := clipboard ;        funktioniert NICHT
MsgBox %aaa.bbb%

aaa+bbb := clipboard ;        funktioniert NICHT
MsgBox %aaa+bbb%

aaa=bbb := clipboard ;        funktioniert NICHT
MsgBox %aaa=bbb%

Wie muß es jeweils geschrieben werden, damit dieses Skript mit allen Beispielen astrein durchläuft?

Selbstverständlich habe ich bereits alles mögliche durchprobiert und auch die ganze Doku danach abgesucht.
Aber weil ich damit keinen Erfolg hatte, muß ich es hier nun posten.

Re: Sonderzeichen in Variablen

Posted: 14 Jun 2022, 00:09
by hd0202
von Deinen Beispielen ist nur das Erste erlaubt, siehe https://www.autohotkey.com/docs/Concepts.htm#names
Hubert

Re: Sonderzeichen in Variablen

Posted: 14 Jun 2022, 03:31
by gregster
+, - und = agieren auch als Operatoren in Ausdrücken - wenn die als Namensbestandteil von Variablen erlaubt wären, würden wir erhebliche Uneindeutigkeitsprobleme bekommen (deswegen wirst du solche Variablennamen auch in anderen Sprachen selten bis nie finden).
. hat auch eine besondere Bedeutung... in der Syntax für Objekte.

Mit Objekten kannst du nicht die %...%-Syntax verwenden, jedoch werden sie in Ausdrücken (expressions) - auch erzwungenen - ausgewertet:

Code: Select all

clipboard := "Sonnenschein"

aaa := {}
aaa.bbb := clipboard 
MsgBox % aaa.bbb
Als Objekt-Keys kannst du auch solche Strings verwenden, die als Variablennamen illegal sind, wenn du die [ ]-Schreibweise verwendest:

Code: Select all

arr := {}
arr["aaa-bbb"] := clipboard 
MsgBox % arr["aaa-bbb"]

Re: Sonderzeichen in Variablen

Posted: 14 Jun 2022, 04:47
by Rohwedder
Hallo,
es gibt aber eine Menge erlaubte Unicodezeichen:

Code: Select all

clipboard := "Sonnenschein"
aaa➖bbb := clipboard 
MsgBox %aaa➖bbb%
aaa➕bbb := clipboard
MsgBox %aaa➕bbb%
aaa☠bbb := clipboard
MsgBox %aaa☠bbb%

Re: Sonderzeichen in Variablen

Posted: 14 Jun 2022, 07:27
by garry

Re: Sonderzeichen in Variablen

Posted: 16 Jun 2022, 22:14
by Stroker-007
Vielen Dank an alle für die interessanten Beiträge. Mein Fazit daraus: Da es sich ja "nur" um Variablen handelt, ist es ratsam und durchaus tolerierbar, dabei auf diese Sonderzeichen großzügig zu verzichten. Für die Vorstellung vor dem Vorhang gibt es ja dank send und sendraw keine solchen Einschränkungen - fast keine ;-)