赋值
月之脚本中定义的变量是动态类型的,并默认为局部变量。但你可以通过 local 和 global 声明来改变声明变量的作用范围。
hello = "world"a, b, c = 1, 2, 3hello = 123 -- 访问现有的变量hello = "world"a, b, c = 1, 2, 3hello = 123 -- 访问现有的变量你可以使用各式二进制运算符执行更新赋值。
x = 1x += 1x -= 1x *= 10x /= 10x %= 10s ..= "world" -- 如果执行更新的局部变量不存在,将新建一个局部变量arg or= "默认值"x = 1x += 1x -= 1x *= 10x /= 10x %= 10s ..= "world" -- 如果执行更新的局部变量不存在,将新建一个局部变量arg or= "默认值"你可以进行链式赋值,将多个项目赋予相同的值。
a = b = c = d = e = 0x = y = z = f!a = b = c = d = e = 0x = y = z = f!显式声明局部变量
Section titled “显式声明局部变量”do local a = 1 local * print "预先声明后续所有变量为局部变量" x = -> 1 + y + z y, z = 2, 3 global instance = Item\new!
do local X = 1 local ^ print "只预先声明后续大写的变量为局部变量" a = 1 B = 2do local a = 1 local * print "预先声明后续所有变量为局部变量" x = -> 1 + y + z y, z = 2, 3 global instance = Item\new!
do local X = 1 local ^ print "只预先声明后续大写的变量为局部变量" a = 1 B = 2显式声明全局变量
Section titled “显式声明全局变量”do global a = 1 global * print "预先声明所有变量为全局变量" x = -> 1 + y + z y, z = 2, 3
do global x = 1 global ^ print "只预先声明大写的变量为全局变量" a = 1 B = 2 local Temp = "一个局部值"do global a = 1 global * print "预先声明所有变量为全局变量" x = -> 1 + y + z y, z = 2, 3
do global x = 1 global ^ print "只预先声明大写的变量为全局变量" a = 1 B = 2 local Temp = "一个局部值"