val -- the value of an object
Introductionval(object) replaces every identifier in
object by its value.
Call(s)val(object)
Parametersobject |
- | any MuPAD object |
Returnsthe ``evaluated'' object.
Related
Functionseval, hold, level, LEVEL, MAXLEVEL
Detailsval 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.
Example
1val 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:
Example
2val 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:
Example
3val does not recursively substitute values
for the identifiers:
>> delete a, b: a := b: b := c: val(a)
b