☜ | GOTOM[UMPS] by Example | ☞ |
Introduced in the 1977 ANSI M[UMPS] language standard.
Goto LABEL
Goto LABEL+OFFSET
Note that use of the LABEL+OFFSET syntax may have
unintended ramifications when lines of code are inserted between
the line with the LABEL and the line that was indicated
by LINE+OFFSET before the insertion.
Goto ^PROGRAM
Goto LABEL^PROGRAM
Goto LABEL+OFFSET^PROGRAM
Goto @ARGUMENT
Goto @INDLABEL^PROGRAM
Goto @INDLABEL^@INDPROG
Note: a reference like +OFFSET^ROUTINE is acceptable as a parameter for $Text, but not as an argument for the commands Do and Goto.
Addition in the 1995 ANSI M[UMPS] language standard.
Assume that the following code occurs in a routine called
ROUTINE1
;...
Goto LABEL1^ROUTINE2
;...
Do
. ;...
LABEL3 . ;...
. If CONDITION Goto LABEL3
. ;...
. If CONDITION Goto LABEL3^ROUTINE1
. ; ...
. Goto LABEL2^ROUTINE3
The first Goto command will transfer control to
LABEL1 in ROUTINE2.
Assuming that no lines of level 1 occur between the
argumentless Do command and the further Goto
commands, the second Goto command will transfer control to
LABEL3 in ROUTINE1, as will the third
Goto command. The fourth Goto command will cause an
error (M45).
EXAMPLE Do
. Goto DEST
DEST Quit
This example will cause an error (M45) to occur. It is not
allowed to jump outside of an indented block by means of a
Goto command.
Examples with naked references:
Goto DESTINATION
Set ^ABC(1,2)="reset naked indicator"
; naked indicator is now ^ABC(1,
Goto @^(3,4)
; naked indicator is now: ^ABC(1,3,
; Actual reference is: ^ABC(1,3,4)
Copyright © Standard Documents; 1977-2024 MUMPS Development Committee;
Copyright © Examples: 1995-2024 Ed de Moel;
Copyright © Annotations: 2003-2008 Jacquard Systems Research
Copyright © Annotations: 2008-2024 Ed de Moel.
The information in this page is
NOT authoritative and subject to be modified
at any moment.
Please consult the
appropriate (draft) language standard for an
authoritative definition.
Some specifications are "approved for inclusion in a future standard". Note that the MUMPS Development Committee cannot guarantee that such future standards will indeed be published.
This page most recently updated on 12-Sep-2014, 10:11:23.
For comments, contact Ed de Moel (demoel@jacquardsystems.com)