wie kann das sein?

pinkconverse

pinkconverse

Aktives Mitglied
Thread Starter
Dabei seit
27.07.2006
Beiträge
177
Reaktionspunkte
5
hey!

mich wuerde interessieren warum ein applescript, bei dem ich einfach von 1 bis 1000 zaehlen lasse, die zeiten sich extrem unterscheiden. es ist naemlich so, wenn ich das skript als programm starte dauert es null sekunden. ebenso wenn ich das skript im editor oeffne und dorten run auswaehle (bin dabei unter ergebnis).

hier mal das skript:

========================
set dateA to current date

set n to 1 as integer
set i to 1000 as integer
repeat while n < i
set n to n + 1
log n
end repeat
set dateB to current date

set elapsedTime to (dateB - dateA)

display dialog elapsedTime

=========================

nehm ich stattdessen im editor auf event-protokoll gehe, und es dann von hier aus mit run starte, dauert es schon mal ca. 14 sekunden.

irgendwie komm ich da nicht ganz dahinter warum das so unterschiedlich ist?!


lg loco
 
Der Befehl log ist praktisch, z. B. für das Testen und den Debug eines Scripts, weil er auch in langen repeat-Loops alle Werte einer oder mehrerer Variablen ausgibt. Aber diese Ausgabe braucht natürlich ihre Zeit: in Deinem Beispiel sind es 999 Einzelergebnisse, die festgehalten werden (der Wert "n" von 2 - 999 + "elapsedTime", die Laufzeit des Scripts).
Im normalen Runmodus passiert das nicht, weil hier der Logbefehl einfach ignoriert wird, er funktioniert nur im Eventmodus. Und wenn Du im Eventmodus die Logzeile auskommentierst
Code:
 --log n
wirst Du sehen, daß elapsedTime in beiden Fällen gleich ist.

Good scripting
Farid
 
vielen dank
 
Zurück
Oben Unten