Lua丨全局变量与局部变量的使用、多变量同时赋值

全局变量与局部变量的使用

全局变量即使声明在函数方法里面,只要该方法被调用过,便可在方法外访问到该变量

局部变量的销毁是在语句块的结束

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

 

你可能感兴趣的:(#,Lua)