大佬们,问个问题
lua吧
全部回复
仅看楼主
level 1
Lon9Live
楼主
a = {}
a[1] = 0
a[2] = 0
a[4] = 0
print #a 的值是3
# 运算符不是计算连续内容的长度吗
2018年03月01日 07点03分
1
level 8
ks_isaf
lua官方说了,#用于计算table大小时,只能作用于list类型的table,即中间没有nil的table,作用于非list时,结果不可信。
2018年03月03日 07点03分
3
Lon9Live
求原文链接
2018年03月03日 11点03分
ks_isaf
@Lon9Live
http://www.lua.org/manual/5.3/manual.html#3.4.7
2018年03月03日 12点03分
ks_isaf
@ks_isaf
这是Lua5.3的解释。大意是说#操作符作用于table时是返回table的任意一个边界值。你的例子中 {0,0,nil,0}有两个边界值:2和4。所以你确定你例子中#a返回的是3而不是4?
2018年03月03日 12点03分
Lon9Live
@ks_isaf
的确是4,用的是scite
2018年03月05日 12点03分
1