maintains expr in an unevaluated form.
- Hold has attribute HoldAll and performs no operation on its arguments.
- Hold is removed by ReleaseHold. »
- Hold[e1,e2,…] maintains a sequence of unevaluated expressions to which a function can be applied using Apply.
- Even though expr itself is not evaluated, Hold[expr] may still evaluate if expr is of the form f[args], and upvalues for f have been defined. »
Examplesopen allclose all
Properties & Relations (9)
Hold is a container with the attribute HoldAll:
Use Evaluate to force evaluation of an argument of Hold:
Unevaluated inside a held expression is not removed:
Sequence splicing still happens inside Hold:
Use the container HoldComplete to suppress even such transformations:
Upvalues work inside Hold:
They do not work inside HoldComplete:
Substitution works inside Hold:
Insert into a held expression:
ReleaseHold removes one level of Hold:
HoldForm is like Hold but is normally not shown in the output:
Wolfram Research (1988), Hold, Wolfram Language function, https://reference.wolfram.com/language/ref/Hold.html.
Wolfram Language. 1988. "Hold." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Hold.html.
Wolfram Language. (1988). Hold. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Hold.html