assigned
check if a name is assigned
Calling Sequence
Parameters
Description
Thread Safety
Examples
Compatibility
assigned(n)
assigned(n, val)
n
-
name, subscripted name, or function call
val
name, assignable
The assigned function returns true if n has a value other than its own name, and returns false otherwise.
Note: The assigned function returns true if you have placed assumptions on n using the assume command.
This function is one of the exceptions to the normal evaluation rule for arguments of a function. The argument to assigned will only be evaluated as a name (see the evaln function) rather than fully evaluated.
The definition of assigned for array/table subscripts is
assigned⁡Ai=evalb⁡Ai≠evaln⁡Ai
The definition of assigned for function calls is
assigned⁡f⁡x=evalb⁡f⁡x≠evaln⁡f⁡x
If an optional second argument is provided, then that parameter is set to the assigned value of n. This allows the assignment-check and fetch of the value to be done in a single command, which can be important in threaded applications with shared data, and when using weak tables.
The assigned command is thread-safe as of Maple 15.
For more information on thread safety, see index/threadsafe.
n≔4
assigned⁡n
true
assigned⁡n,nval
nval
4
Table lookups can return unevaluated; using assigned or comparing against evaln of the indexed name will distinguish between a unevaluated lookup and a found value.
a≔table⁡symmetric
a≔table⁡symmetric,
a1,2≔x
assigned⁡a1,2
assigned⁡a2,1
assigned⁡a1,1
false
assigned⁡abs⁡x
assigned⁡abs⁡2
assigned will evaluate the function to determine if it will return itself or not
f := proc(x) `if`(x::integer,x^2,'procname'(x)) end:
assigned⁡f
assigned⁡f⁡x
assigned⁡f⁡2
If you place an assumption on a name using the assume command, the assigned command returns true for that name.
assigned⁡b
assume⁡b,positive
Note: Evaluating an assigned call under an assumption (using the assuming command), returns true for a name only if it has a value different from its name.
assigned⁡cassumingc::integer
The assigned command was updated in Maple 2019.
The val option was introduced in Maple 2019.
For more information on Maple 2019 changes, see Updates in Maple 2019.
See Also
anames
assume
assuming
evaln
hasindex
unames
Download Help Document