This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

Set (=)

evaluates rhs and assigns the result to be the value of lhs. From then on, lhs is replaced by rhs whenever it appears.
{l1, l2, ...}={r1, r2, ...}
evaluates the ri, and assigns the results to be the values of the corresponding li.
  • lhs can be any expression, including a pattern.
  • f[x_]=x^2 is a typical assignment for a pattern. Notice the presence of _ on the left-hand side, but not the right-hand side.
  • An assignment of the form f[args]=rhs sets up a transformation rule associated with the symbol f.
  • Different rules associated with a particular symbol are usually placed in the order that you give them. If a new rule that you give is determined to be more specific than existing rules, it is, however, placed before them. When the rules are used, they are tested in order.  »
  • New assignments with identical lhs overwrite old ones.  »
  • You can see all the assignments associated with a symbol f using ?f or Definition[f].
  • If you make assignments for functions that have attributes like Flat and Orderless, you must make sure to set these attributes before you make assignments for the functions.
  • If lhs is of the form f[args], then args are evaluated.  »
  • When it appears in an unevaluated symbolic form, Set is treated as a scoping construct so that variables in nested occurrences are renamed if necessary.  »
  • lhs=rhs returns rhs even if for some reason the assignment specified cannot be performed.
  • Some global variables such as $RecursionLimit can only be assigned a certain range or class of values.
New in 1