全局变量即使声明在函数方法里面,只要该方法被调用过,便可在方法外访问到该变量
局部变量的销毁是在语句块的结束
do
a=10
local b=20
print(a,b)
end
print(a,b)
>lua -e "io.stdout:setvbuf 'no'" "table.lua"
10 20
10 nil
>Exit code: 0
a,b,c=10,20,"hello"
print(a,b,c)
a,b=b,a --Lua中多变量赋值不会像C#一样,Lua会先计算右边的数值,再分别赋值给左边
print(a,b) --C#会a=b,b=a,输出结果都为20
--当变量数量>值数量时,多余的变量会被赋值nil
a,b,c=10,20
print(a,b,c)
--当变量数量<值数量时,多余的值被忽略
a,b=10,20,30
print(a,b)
function test()
return 40,50
end
a=test()
print(a)
a,b=test()
print(a,b)
>lua -e "io.stdout:setvbuf 'no'" "table.lua"
10 20 hello
20 10
10 20 nil
10 20
40
40 50
>Exit code: 0
大家还有什么问题,欢迎在下方留言!