User Guide
552
return (keyword)
Syntax
return expression
Description
Keyword; returns the value of expression and exits from the handler. The expression argument
can be any Lingo value.
When calling a handler that serves as a user-defined function and has a return value, you must use
parentheses around the argument lists, even if there are no arguments, as in the
diceRoll function
handler discussed under the entry for the
result function.
The function of the
return keyword is similar to that of the exit command, except that return also
returns a value to whatever called the handler. The
return command in a handler immediately
exits from that handler, but it can return a value to the Lingo that called it.
The use of
return in object-oriented scripting can be difficult to understand. It’s easier to start by
using
return to create functions and exit handlers. Later, you will see that the return me line in an
on new handler gives you a way to pass back a reference to an object that was created so it can be
assigned to a variable name.
The
return keyword isn’t the same as the character constant RETURN, which indicates a carriage
return. The function depends on the context.
To retrieve a returned value, use parentheses after the handler name in the calling statement to
indicate that the named handler is a function.
To see an example of
return (keyword) used in a completed movie, see the Parent Scripts movie in
the Learning/Lingo Examples folder inside the Director application folder.
Example
This handler returns a random multiple of 5 between 5 and 100:
on getRandomScore
theScore = 5 * random(20)
return theScore
end getRandomScore
Call this handler with a statement similar to the following:
set thisScore to GetRandomScore()
In this example, the variable thisScore is assigned the return value from the function
GetRandomScore. A parent script performs the same function: by returning the object reference, the
variable name in the calling code provides a handle for subsequent references to that object.
See also
result, RETURN (constant)