val
-- the value of an objectval
(object)
replaces every identifier in
object
by its value.
val(object)
object |
- | any MuPAD object |
the ``evaluated'' object.
eval
, hold
, level
, LEVEL
, MAXLEVEL
val
does not perform any simplification of the
result.val
is a set, duplicate elements are
removed from that set.val
does not work recursively, i.e., if the value of
an identifier in turn contains identifiers, then these are not replaced
by their values. See example 3.val
does not flatten its
argument. Hence, an expression sequence is accepted as argument. Cf.
example 2.val
is a function of the system kernel.val
replaces identifiers by their values,
but does not call arithmetical functions such as _plus
:
>> a := 0: val(a*b + 4 + 0)
0 b + 4 + 0
Duplicate elements in sets are removed:
>> a := b: val({a, b, a*0})
{b, 0 b}
>> delete a:
val
does not flatten its argument, nor does it remove void
objects of type DOM_NULL
:
>> a := null(): val((a, null()))
null(), null()
However, it is not legal to pass several arguments:
>> val(a, null())
Error: Wrong number of arguments [val]
>> delete a:
val
does not recursively substitute values
for the identifiers:
>> delete a, b: a := b: b := c: val(a)
b