Sonderzeichen in Variablen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Stroker-007
Posts: 135
Joined: 28 Jan 2021, 17:09
Location: Germany

Sonderzeichen in Variablen

13 Jun 2022, 23:11

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.
hd0202
Posts: 183
Joined: 04 Oct 2013, 03:07
Location: Germany near Cologne

Re: Sonderzeichen in Variablen

14 Jun 2022, 00:09

von Deinen Beispielen ist nur das Erste erlaubt, siehe https://www.autohotkey.com/docs/Concepts.htm#names
Hubert
gregster
Posts: 9087
Joined: 30 Sep 2013, 06:48

Re: Sonderzeichen in Variablen

14 Jun 2022, 03:31

+, - 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"]
Rohwedder
Posts: 7720
Joined: 04 Jun 2014, 08:33
Location: Germany

Re: Sonderzeichen in Variablen

14 Jun 2022, 04:47

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%
Stroker-007
Posts: 135
Joined: 28 Jan 2021, 17:09
Location: Germany

Re: Sonderzeichen in Variablen

16 Jun 2022, 22:14

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 ;-)

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 26 guests