分配

赋值语句评估表达式并将生成的值分配给变量。

variable = expression

如前所述,任何类型的值都可以分配给任何变量,因此允许执行以下操作:

local v1 = "a string literal" v1 = 10

赋值语句实际上可以设置多个变量,使用

variable1, variable2, … = expression1, expression2, …

如果变量多于表达式,则额外的变量被分配为零。如果表达式多于变量,则会丢弃额外的表达式值。所有表达式都在赋值之前进行评估,因此这可以用来简洁地交换两个变量的值:

v1, v2 = v2, v1

等同于

tmp = v1 v2 = v1 v1 = tmp

分配