# SetDelayed (:=)

SetDelayed has attribute HoldAll, thus it does not evaluate the right-hand side immediately, but evaluates it when needed.

• Attributes[SetDelayed]

• a = 1

• x := a

• a = 2

• x

Condition can be used to make a conditioned assignment:

• f[x_] := p[x] /; x>0

• f[3]

• f[-3]