Assignments

Mathematica's symbolic architecture supports a highly generalized notion of assignment, in which you can specify a transformation for any class of expressions defined by a Mathematica pattern. Simple cases correspond to assignments for "variables", "indexed variables", or "structure elements". Other cases define functions or general transformations.

ReferenceReference

x=v assign a value (Set)

{x,y}={u,v} assign multiple values

{x,y}={y,x} swap values

a[[i]]=v assign a value to a list/array/expression element

x++ (Increment) ▪ ++x (PreIncrement) ▪ x+=y (AddTo)

x-- (Decrement) ▪ --x (PreDecrement) ▪ x-=y (SubtractFrom)

x*=y (TimesBy) ▪ x/=y (DivideBy)

AppendTo, PrependTo add elements to a list

Function Definitions

f[x_]:=body define a function

Forms of Assignment

lhs=rhs immediate assignment, with rhs evaluated at the time of assignment

lhs:=rhs delayed assignment, with rhs reevaluated every time it is used

f/:lhs=rhs, f/:lhs:=rhs associate assignments with the head f

lhs^=rhs, lhs^:=rhs define "upvalues" associated with the leading head in lhs

Clearing Assignments

x=. unset the value of x (Unset)

Clear clear all values associated with a symbol

ClearAll ▪ Remove

Information about Assignments

?x (Information) — get information about all assignments for x

DownValues ▪ UpValues ▪ Save

New to Mathematica? Find your learning path »
Have a question? Ask support »