'return' till vad?

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2005-01-22 18:01

En liten "minifilosofisk" fråga:

-- När jag kör koden nedan avbryts scriptet vid 'return'.
-- Den andra 'display dialog' exekveras inte.
--Varför? Och intressantast: return till och från vad?
-- Normalt använder jag 'return' i subbar

display dialog "1"
return
display dialog "2"

Bra fråga.
Jag har alltid tolkat det som 'återgå till ovanliggande kod', även om det inte är riktigt sant.

Det är inte så konstigt som det verkar och Niklas har nästan rätt. Så här säger AppleScript Language Guide:

"A Return statement exits a handler and returns a value. When AppleScript
executes a Return statement, it stops handler execution and resumes execution"

samt

"If AppleScript executes a Return statement without a value, it exits the subroutine immediately
and does not return a value."

Det som gör Wire konfunderad är att top level handlern " on run" är implicit i AppleScript, dvs trots att vi normalt inte skriver "on run" så antar AppleScript att koden ligger i en "on run"-handler. Precis som fallet är en vanlig handler avbryts därför handlern, men i och med att det är den enda top level handlern så är det samma som att scriptet avbryts

  • Medlem
  • International user
  • 2005-01-22 19:05

Fan, det har jag ju läst någonstans... Nu när du skriver det. Tack Richard!

1
Bevaka tråden