Fischer-Bayern.de
Letztes Update: 12.01.2005 | 1:10:50 Uhr
Variablen (Teil 1) 
Peter Fischer

Variablen dienen in einer Skriptsprache wie AppleScript als Platzhalter für Informationen. Auf diese Werte kann dann an unterschiedlichen Stellen des Skripts zugegriffen werden.
Bei der Namensgebung ist folgendes zu beachten:

  1. Der Name muß mit einem Buchstaben beginnen
  2. Der Name darf nur Buchstaben, Zahlen und den Unterstrich "_" beinhalten

Auf die Verwendung der deutschen Sonderzeichen "ä", "ö", "ü" und "ß" muß in Variablennamen auch verzichtet werden.

Um den Variablen dennoch aussagekräftige Namen zu geben, gibt es zwei unterschiedliche Verfahren:

  • Verwendung des Unterstrichs statt Leerzeichen
    Beispiel: mein_Name
  • Großschreibung der Anfangsbuchstaben
    Beispiel: MeinName

Ich persönlich bevorzuge die Variante ohne Unterstrich, da man dann im Skripteditor den Variablennamen per Doppelklick markieren kann.

Weiterhin gilt zu beachten, daß keine Namen von vordefinierten Variablen verwendet werden. Das muß nicht unbedingt zu einer Fehlermeldung führen, aber zum gewünschten Ergebnis gelangt man so bestimmt auch nicht.

Verwendet man reservierte Wörter wie z.B. "set", "copy" usw. wird man mit einem Syntaxfehler belohnt.

Wertezuweisung
In AppleScript beginnt eine Variable ihr Dasein, sobald ihr ein Wert zugewiesen wurde. Dies kann durch die Befehle "set" oder "copy" geschehen.

Beispiele:

set MeinName to "Peter Fischer"
set x to 3
copy "Hello World" to MeinText
copy 5 to z

Beachten Sie die unterschiedliche Syntax bei beiden Befehlen.
"set": Setze Variable auf Wert
"copy": Kopiere Wert in Variable

Mit der Wertezuweisung wird gleichzeitig der Datentyp (class) der Variablen bestimmt.
Mögliche Datentypen sind:

  • Text
  • Zahlen
  • Listen
  • Datensätze
  • Bool'sche Ausdrücke (true, false)
  • Datumswerte
  • Skriptobjekte

Sie müssen sich also bei der Wertezuweisung im Klaren sein, welchen Datentyp sie der Variablen dabei zuweisen, sonst gibt es später im Skript Probleme.

Kleiner Test:

Probieren Sie mal folgende Möglichkeiten im Skripteditor aus und sehen sich das Ergebnis im Eventprotokoll an:

set dieVariable to 5
get class of dieVariable
log the result

set dieVariable to "5"
get class of dieVariable
log the result

set dieVariable to 5.0
get class of dieVariable
log the result

set dieVariable to {5}
get class of dieVariable
log the result

set dieVariable to {Zahl:5}
get class of dieVariable
log the result

set dieVariable to date "10.02.1963" (* Beim Kompilieren wird aus dieser Datumsangabe folgendes: "Sonntag, 10. Februar 1963 00:00:00 Uhr" Siehe auch Datum formatieren (2)*)
get class of dieVariable
log the result

Im vorangegangenen Beispiel wurde das Kommando "log" und die reservierte Variable "result" verwendet. Das "log"-Kommando ist vor allem zur Fehlersuche nützlich, da dadurch Daten im Eventprotokoll erscheinen, die man sonst nicht zu sehen bekommt. Versuchen Sie es mal, indem Sie die jeweiligen Zeilen im Skript, durch zwei -- am Zeilenanfang, auskommentieren. Schon bleibt das Eventprotokoll leer.

Die "result"-Variable enthält jeweils das Ergebnis des letzten Kommandos.

Wenn Sie so ein Ergebnis im Skript weiter verwenden wollen müssen Sie es gleich in einer normalen Variablen speichern.
Beispiel:

set dieVariable to {Zahl:5}
get class of dieVariable
set dieKlasse to the result
log dieKlasse

Im Eventprotokoll sieht noch alles gleich aus. Der Unterschied besteht darin, daß Sie auf die Ergebnisse der vorangegangenen Kommandos nicht mehr zugreifen können, nur auf das gespeicherte Resultat in der Variablen dieKlasse.

Skriptobjekte
Versuchen Sie folgendes:

set dieVariable to ¬
   (load script (choose file with prompt "Wählen Sie ein Skript:"))
get class of dieVariable
log the result

Sie können so ein ganzes Skript in eine Variable laden.

Da es zu Variablen noch viel zu schreiben gibt, wird noch ein zweiter Teil zum Thema folgen. Das Ende des ersten Teils haben wir jedoch erreicht!




 

 

Workshop



snow@fischer-bayern.de

Ebene 1