L'instruction d'affectation évalue une expression et attribue la valeur résultante à une variable.
variable = expression
Comme indiqué précédemment, des valeurs de tout type peuvent être attribuées à n'importe quelle variable. Les opérations suivantes sont donc autorisées :
local v1 = "a string literal" v1 = 10
Une instruction d'affectation peut en fait définir plusieurs variables, à l'aide du formulaire
variable1, variable2,... = expression1, expression2,...
S'il y a plus de variables que d'expressions, les variables supplémentaires se voient attribuer une valeur nulle. S'il y a plus d'expressions que de variables, les valeurs d'expression supplémentaires sont ignorées. Les expressions sont toutes évaluées avant les affectations, ce qui permet d'échanger succinctement les valeurs de deux variables :
v1, v2 = v2, v1
équivaut à
tmp = v1 v2 = v1 v1 = tmp