Lua中判断table是否为空
2016-04-21 13:35
281 查看
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
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
相关文章推荐
- Lua应用——tables应用,查找是否为保留字
- Lua从入门到放弃--文件I/O
- 极客学院lua文档
- Lua协程(coroutine)的基本知识
- 基于 lua-resty-upload 实现简单的文件上传服务
- Lua的闭包
- Lua中的元表和元方法
- UVA_327_Evaluating Simple C Expressions
- VS 2013 编译 Lua 5.3
- 字符估值器CharEvaluator
- Notepad++中调试用心lua程序
- Lua从入门到放弃--打印表Demo
- Lua中的操作系统库
- Lua从入门到放弃--元表(操作符)
- 浅析 Android 动画:自定义 Interpolator 与 TypeEvaluator
- Lua从入门到放弃--元表
- Lua math库
- lua C++对象内存管理
- Lua根据秒数返回时间串00:00:00
- Thrift lua example