return
-- exit a procedurereturn(
x)
terminates the execution of a
procedure and returns x
.
return(x)
x |
- | any MuPAD object |
x.
Alternatively, the call return(
x)
inside a
procedure leads to immediate exit from the procedure: x
is
evaluated and becomes the return value of the procedure. Execution
proceeds after the point where the procedure was invoked.
x
may be an expression
sequence, i.e., calls such as return(
x1, x2,
...)
are allowed.return(
)
returns the void object of type
DOM_NULL
.return
is a function, not a keyword. A
statement such as return x;
works in the programming
language C, but causes a syntax error in MuPAD.return(
x)
just returns x
.return
is a function of the system kernel.This example shows the implementation of a maximum
function (which, in contrast to the system function max
, accepts only two arguments). If
x
is larger than y
, the value of
x
is returned and the execution of the procedure
mymax
stops. Otherwise,
return(
x)
is not called. Consequently,
y
is the last evaluated object defining the return
value:
>> mymax := proc(x : Type::Real, y : Type::Real) begin if x > y then return(x) end_if; y end_proc:
>> mymax(3, 2), mymax(4, 5)
3, 5
>> delete mymax:
return(
)
returns the void
object:
>> f := x -> return(): type(f(anything))
DOM_NULL
>> delete f:
If return
is called on the interactive
level, the evaluated arguments are returned:
>> x := 1: return(x, y)
1, y
>> delete x: