Attributes
Attributes[symbol]
gives the list of attributes for a symbol.
Attributes["symbol"]
gives the attributes for the symbol named "symbol" if it exists.
Attributes[{s1,s2,…}]
gives a list of the attributes for each of the si.
Details
- The attributes of a symbol can be set by assigning a value to Attributes[s]. If a single attribute is assigned, it need not be in a list.
- Attributes[s]={} clears all attributes of a symbol.
- Attributes for functions must be set before any definitions that involve the functions are given.
- The complete list of possible attributes for a symbol f is:
-
Constant all derivatives of f are zero Flat f is associative HoldAll all the arguments of f are not evaluated HoldAllComplete the arguments of f are completely shielded from evaluation HoldFirst the first argument of f is not evaluated HoldRest all but the first argument of f are not evaluated Listable f is automatically "threaded" over lists Locked attributes of f cannot be changed NHoldAll the arguments of f are not affected by N NHoldFirst the first argument of f is not affected by N NHoldRest all but the first argument of f are not affected by N NumericFunction the value of f is assumed to be a number when its arguments are numbers OneIdentity f[a], f[f[a]], etc. are equivalent to a in pattern matching Orderless f is commutative Protected values of f cannot be changed ReadProtected values of f cannot be read SequenceHold Sequence objects in the arguments of f are not flattened out Stub Needs is automatically called if the symbol is ever input Temporary f is a local variable, removed when no longer used - Attributes has attributes Listable and HoldAll.
Examples
open allclose allScope (1)
Properties & Relations (4)
Add a single attribute to the symbols f and g:
SetAttributes adds to the already existing attributes; Attributes[g]=… resets them:
An assignment to Attributes is associated with f, not with Attributes:
Protecting a symbol is equivalent to setting the Protected attribute:
Attributes has the attribute HoldAll:
Text
Wolfram Research (1988), Attributes, Wolfram Language function, https://reference.wolfram.com/language/ref/Attributes.html (updated 1996).
CMS
Wolfram Language. 1988. "Attributes." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 1996. https://reference.wolfram.com/language/ref/Attributes.html.
APA
Wolfram Language. (1988). Attributes. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Attributes.html