check if a name is assigned
name, subscripted name, or function call
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
The definition of assigned for function calls is
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.
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.
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:
If you place an assumption on a name using the assume command, the assigned command returns true for that name.
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.
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.
Download Help Document
What kind of issue would you like to report? (Optional)