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

//怎么求table的长度呢

获取数组的长度

对于一个数组我们通常可以使用#和table.getn来获取其长度

  1. tabletest = {1,2,3,5,7}

  2. print(table.getn(tabletest)) ------》5

  3. print(#tabletest) ------》5

  • 1
  • 2
  • 3

使用这两种方法都能得到这个数组的长度,但是如果

  1. tabletest = {1,2,nil,3,5,7}

  2. print(table.getn(tabletest)) ------》2

  3. print(#tabletest) ------》2

  • 1
  • 2
  • 3

发现不能获得我们数组真正的长度,这是因为数组默认遇到nil便被判断为数组结束,所以最好不要用#和table.getn来获取包含有nil的数组长度

获取table的长度

对于table来说,如果他不是数组,我们使用#和table.getn是不能获取它的长度的

  1. tabletest = {a=1,b=2,c=3,e=5,f=7}

  2. print(table.getn(tabletest)) ------》0

  3. print(#tabletest) ------》0

  • 1
  • 2
  • 3

我们可以使用pairs来获取

  1. tabletest = {a=1,b=2,c=3,d=5,e=7}

  2. local count=0

  3. for k,v in pairs(tabletest) do

  4. count = count + 1

  5. end

  6. print(count) ------》5

注意#只能获取索引为连续数字的长度,如果不连续,只能获取到连续的地方,其他地方被舍弃

lua 求table长度和判断空相关推荐

  1. java equals 判断空_Java 判断字符串是否为空的三种方法与性能分析

    [java中判断字符串是否为数字的三种方法  1>用JAVA自带的函数 public static boolean isNumeric(String str){   for (int i = s ...

  2. c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) { ass ...

  3. Lua 的table遍历 【转】

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://rangercyh.blog.51cto.com/1444712/1032925 ...

  4. Lua之table(表)

    Lua table(表) 使用表来统一表示Lua中的一切数据,是Lua区分于其他语言的一个特色.这个特色从最开始的Lua版本保持至今,很大的原因是为了在设计上保持简洁.Lua表分为数组和散列表部分,其 ...

  5. lua中table函数库

    一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明. table.concat(table, sep,  start, end) concat是c ...

  6. js中判断空数组和空对象的方法

    复习的时候做一些学习的笔记总结. javascript的值的类型: 原始值:number.string.boolean.undefined.null.symbol(ES6).bigint(ES10) ...

  7. C语言中求字符串长度的函数my_strlen()的几种实现方法

    C语言中求字符串长度的函数的几种实现方法 1.最常用的方法是创建一个计数器,判断是否遇到'\0',不是'\0'指针就往后加一. int my_strlen(const char *str) {asse ...

  8. JavaScript 判断空对象空数组

    JavaScript 判断空对象空数组 一.为什么判断空数组空对象会比较麻烦 二.判断空数组的方法 三.判定空对象的方法 四.一个判断参数为空的函数封装 来源: https://www.jianshu ...

  9. C#中判断空字符串的3种方法性能分析【月儿原创】

    C#中判断空字符串的3种方法性能分析 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.28  3种方法分别是:string ...

最新文章

  1. c++输出小数点后几位_2.1 怎么在屏幕上输出各种类型的数据
  2. 怀念西电北门的石凳(转载)
  3. 微机个人笔记-存储单元编址
  4. ubuntu mysql 数据库编码_Ubuntu中 MySQL 的中文编码问题
  5. 【报告分享】B2B内容营销指南—制定有效内容策略-领英.pdf(附下载链接)
  6. 寒武纪与华为海思分庭抗礼:中立芯片公司的成人礼
  7. uwsgi模式_uwsgi配置详解
  8. 程序员,成为北京人,只差月薪 7w 了。
  9. 《从NLP反作弊技术看马蜂窝注水事件》笔记
  10. 赚不到钱的5大原因!
  11. 回调函数透彻理解Java
  12. 软件测试相关试题知识点
  13. spring动态代理(重要至极)
  14. dnf 服务器每周维护,DNF:7.22官方公告出炉,凌晨2点维护7小时,新增3个活动有玄机?...
  15. Linux文件补全功能,Linux系统自动补全命令有哪些
  16. 三角形周长最短问题_一次函数动点问题:求三角形周长最小值
  17. java 退格符,Java退格键
  18. SkyWalking触发告警发送邮箱
  19. 医学图像处理——影像组学的建模过程
  20. java实现图片滚动_怎么用Java代码使图片自行滚动浏览

热门文章

  1. ZOJ - 3593 One Person Game(扩展欧几里得)
  2. 应用宝认领应用签名_应用宝8.0版本即将发布“数字分发”引领应用分发新趋势...
  3. Linux闲时自动抢占GPU脚本
  4. bootstrap php zend,Zend Framework教程之Bootstrap类用法概述
  5. MFC六大核心机制之四:永久保存(串行化)
  6. python练习12
  7. kubernetes(七)项目部署方式:蓝绿部署,灰度发布/金丝雀发布,滚动更新
  8. StackOverflow 上面最流行的 7 个 Java 问题!| 值得一看
  9. 为什么将0.1f改为0会使性能降低10倍?
  10. Go命令行库Cobra的使用