多重赋值的使用

来源:互联网 发布:遗传算法设计步骤 编辑:程序博客网 时间:2024/05/16 17:54

Lua先对等号右边的所有元素求值,然后才执行赋值。一句多重赋值来交互两个变量了,比如:

x,y = y,x --交换xy

a[i],a[j] = a[j],a[i] --交换a[i]a[j]

Lua总是会将等号右边值的个数调整到与左边变量的个数相一致。规则是:若值的个数少于变量的个数,那么多余的变量会被赋为nil;若值的个数更多的话,那么多余的值会被“静悄悄地”丢弃掉:

a,b,c = 0,1

print(a,bc)  --0 1 nil

a,b = a+1,b+1,c+1

pirnt(a,b) --1 2

下面常见的问题

a,b,c = 0

print(a,b,c)  --0 nil nil

若要初始化一组变量,应为每个变量提供一个值:

a,b,c = 0,0,0

print(a,b,c)  --0 0 0

原创粉丝点击