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)
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: