Lua中判断table是否为空

local table_a = {}


    判断一:(错误方法)
    if table_a == {} then
        --你会发现你怎么也进不来 条件判断始终返回false,为什么会这样呢?
        --原因:{}->相当于创建了一个表,只不过这个表的名字是匿名的,你看不到,我们假设它叫table_b
        --你会发现判断条件变成了比较table_a、table_b的内存地址。所以条件判断始终返回false。
        --正确的实现方法:判断二  
    end

    判断二:(正确方法)

            if next(table_a) == nil then
                --你想实现的操作
            end

            --成功原因:next获取表中的下一个内容,在空表里是没有下一个内容的,返回nil

猜你喜欢

转载自my.oschina.net/andyzzh1314/blog/1809409