☜ | KVALUEDraft MDC Standard | ☞ |
The three argument forms of KValue are given the following names.
a) | glvn: | Selective Kill. | |
b) | (L lname): | Exclusive Kill. | |
c) | Empty argument list: | Kill All. |
KValue is defined using a subsidiary function K( V, val, subs ) where V is a glvn, val is 1, and subs is 0.
Note that as a result of procedure K( V , 1, 0), $Data(V)=0 if V had no descendants before procedure K was applied, or $Data(V) = 10 if V had descendants before procedure K was applied, i.e., only the value of V is deleted.
The actions of the three forms KValue are then defined as:
a) | Selective Kill | Apply procedure K( glvn ,1 ,0). | |
b) | Exclusive Kill | For all names, V, in the local variable NAME-TABLE except those in the argument list, apply procedure K( glvn , 1, 0). 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 ,1, 0). 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 13-Sep-2014, 18:14:13.
For comments, contact Ed de Moel (demoel@jacquardsystems.com)