local table_a = {}数组
判断一:(错误方法)
if table_a == {} then
--你会发现你怎么也进不来 条件判断始终返回false,为何会这样呢?
--缘由:{}至关于建立了一个表,只不过这个表的名字是匿名的,你看不到,咱们假设它叫table_b
--你会发现判断条件变成了比较table_a、table_b的内存地址。因此条件判断始终返回false。
--正确的实现方法:判断二
endui
判断二:(正确方法)spa
if next(table_a) == nil then
--你想实现的操做
endcode
--成功缘由:next获取表中的下一个内容,在空表里是没有下一个内容的,返回nil索引
//怎么求table的长度呢内存
对于一个数组咱们一般能够使用#和table.getn来获取其长度get
使用这两种方法都能获得这个数组的长度,可是若是table
发现不能得到咱们数组真正的长度,这是由于数组默认遇到nil便被判断为数组结束,因此最好不要用#和table.getn来获取包含有nil的数组长度class
对于table来讲,若是他不是数组,咱们使用#和table.getn是不能获取它的长度的test
咱们能够使用pairs来获取
注意#只能获取索引为连续数字的长度,若是不连续,只能获取到连续的地方,其余地方被舍弃。