variablennamen mit variablen benennen

F

Fre

Neues Mitglied
Thread Starter
Dabei seit
07.02.2006
Beiträge
14
Reaktionspunkte
0
ich muss meinen variablen einen wert aus einer anderen variable als variablennamen zuordnen nur ich habs bis jetzt nicht geschafft. ich weiß, dass es in php funzt und wollte fragen ob das in applescript auch geht. sonst muss ich auf ne andere programmiersprache ausweichen.
 
Ciao Fre,

ich fuerchte das geht nicht...
Reine Neugierde: ich kann mir nicht recht vorstellen, wozu das gut sein sollte; hast Du Lust ein praktisches Beispiel zu posten?

Wenn es Dir darum gehen sollte den Inhalt Deiner Variablen dynamisch zu veraendern, dann laesst sich das mit AS problemlos machen, fuer die Namen faellt mir nur ein, das Du Dein Hauptskript externe Unterskripts schreiben lassen kannst, die ueber das Kommando "load script" in den Arbeitsablauf des Hauptskripts integriert werden koennten, aber das ist ziemlich umstaendlich.

Good scripting
Farid
 
also ich möchte eine variable durch ein script definieren lassen. das ist kein problem. aber es sollen mehrere variablen definiert werden, die durch nummeriert sein sollen. aber damit ich nicht tausendmal das selbe script hintereinander schreiben muss und die end variablen ändern muss, wollte ich die variablennamen automatisch durchnummerieren lassen. beispiel: p11_1, p11_2, p11_3, p12_1, p12_2, p12_3, p21_1, p21_2, p21_3, p22_1, p22_2, p22_3 und so weiter. das schwierigste ist, dass vom user eingegeben wird, wie viele felder es gibt. verstanden??
 
Fre schrieb:
Vielleicht :p
Also, Du willst die Variablennamen automatisch durchnumerieren aber das Skript weiss erst durch die Benutzereingaben wieviele Nummern es kreieren muss?

In Deinem Beispiel sehe ich ausserdem, dass es eine Art "Stammnummer" gibt (p11, p12, p13), die nochmal von 1-3 durchnumeriert wird. Wenn ich das richtig verstanden habe, muesste dieses Script funktionieren, das Dir von der Benutzereingabe ausgehend in einem doppelten repeat-loop alle Nummern in eine Liste schreibt, mit der Du dann weiterarbeiten kannst:
Code:
set varList to {}
set myVar to "p"

display dialog "Wieviele Hauptvariablen sollen definiert werden?" default answer "1"
set hauptVar to text returned of the result
display dialog "Wieviele Untervariablen sollen definiert werden?" default answer "1"
set unterVar to text returned of the result

repeat with i from 1 to hauptVar
	set newHauptVar to myVar & i
	repeat with k from 1 to unterVar
		set newUnterVar to (newHauptVar & "_" & k)
		set end of varList to newUnterVar
	end repeat
end repeat

varList

Good scripting
Farid
 
das klappt nicht. aber was mir gerade einfällt. gibt es in applescript mehrdimensionale arrays. so ne art array im array. oder sowas. damit könnt ich es machen.
 
Das Equivalent (stimmt nicht ganz, aber beinahe) zu Arrays sind in AppleScript Listen. Listen selbst können wiederum Listen enthalten.
Eine spezielle Form der Listen in Listen sind Records: den einzelnen Listenelementen werden Labels zugeordnet, zB:
Code:
set myCars to {{Marke:"BMW", Farbe:"schwarz"}, {Marke:"VW", Farbe:"rot"}, {Marke:"Fiat", Farbe:"weiß"}}

Mehr Info: http://developer.apple.com/document...tual/AppleScriptLangGuide/AppleScript.32.html

Good scripting
Farid
 
perfekt danke. damit kann ich arbeiten. vielen dank
 
jetzt gibts nen neues problem. ich bekomm es nicht hin eine list in eine liste kopieren. die erste liste wird aufgehoben und die einträge einzeln zu zweiten liste hinzugefügt.
wie krieg ich das hin, das der die list als solches als einen eintrag der anderen list anfügt?

edit:
ich habs jetzt doch hingekriegt. man muss nur um die variable, die als liste erhalten werden in geschweifte klammern setzen. sorry
 
Zurück
Oben Unten