☜ | KSUBSCRIPTSDraft MDC Standard | ☞ |
KS[UBSCRIPTS] postcond killarglist
The three forms of KSubscripts are given the following names.
a) | glvn: | Selective Kill. | |
b) | (L lname): | Exclusive Kill. | |
c) | Empty argument list: | Kill All. |
KSubscripts is defined using a subsidiary function K( V, val, subs ) where V is a glvn, val is 0, and subs is 1.
Note that as a result of procedure K( V , 0, 1), $Data(V)=1 if V had a value before procedure K was applied, or $Data(V)=0 if V had no value before procedure K was applied, i.e., only the descendants of V are deleted.
The actions of the three forms of Kill are then defined as:
a) | Selective Kill | Apply procedure K( glvn , 0, 1) | |
b) | Exclusive Kill | For all names, V, in the local variable NAME-TABLE except those in the argument list, apply procedure K( glvn , 0, 1). Note that the names in the argument list of an exclusive kill are restricted to unsubscripted locals. | |
c) | Kill All | For all names, V, in the local variable NAME-TABLE, apply procedure K(glvn , 0, 1). Note that Kill All applies procedure K to the local variable NAME-TABLE only. |
If a variable N, a descendant of M, is killed, the killing of N affects the value of $Data(M) as follows: if N was not the only descendant of M, $Data(M) is unchanged; otherwise, if M has a defined value $Data(M) is changed from 11 to 1; if M does not have a defined value $Data(M) is changed from 10 to 0.
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.
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 15-Nov-2023, 14:44:22.
For comments, contact Ed de Moel (demoel@jacquardsystems.com)