level 1
tbl = {[1] = "a", [2] = "b", [3] = "c", [26] = "z",[25] = "y"}
print("tbl 长度 ", #tbl)
问什么显示的长度为3?
2017年01月11日 07点01分
1
level 11
#运算符只计算从1开始连续的下标所有的个数,所以只要中间断了就不管后面的了,所以#运算符只能用在严格意义上的数组上,不能用在哈希表里,你那个table也是哈希表,不算数组
2017年01月11日 08点01分
2
level 1
长度符号的规则么,自己试试这些例子,我用的lua5.14
t={nil,nil,1} --#t == 3
t[5]=1 --#t == 0
t[4]=1--#t == 0
t={1,1,1,1}
t[1],t[2],t[3] = nil --#t == 4
t={}
t[4],t[1],t[2],t[3]=1 --#t == 0
t[4],t[1],t[2],t[3]=1,1,1,1 --#t == 4
t={}
t[1],t[2],t[3],t[4],=1 --#t == 0
有插入nil时,这个不由表状态决定,而受操作顺序决定。
2017年01月12日 02点01分
4