【1】判断表为空的方法

目前为止,Lua语言中判断table表是否为空有三种方式:

(1)#table,当table为数组时直接返回table表的长度。

(2)当table是字典时,返回table的长度

 function table.size(t)
local s = ;
for k, v in pairs(t) do
if v ~= nil then s = s + end
end
return s;
end

(3)next(table),利用next函数进行判断。

 local t = {hello = , world = , lucy = }
local k, v
while true do
k, v = next(t, k)
print(k ,v)
if not v then break end
end --[[ 执行结果
hello 1
lucy 3
world 2
nil nil
]] local tt = {} function isEmpty(tbl)
if next(tbl) ~= nil then
print("is not empty.")
else
print("is empty.")
end
end print(isEmpty(t))
print(isEmpty(tt)) --[[ 执行结果
is not empty.
is empty.
]]

Good Good Study, Day Day Up.

顺序 选择 循环 总结

Lua 判断表是否为空方法的更多相关文章

  1. lua判断表中数据是否连续,0可以代表任何数

    最近看到有lua面试题,挺有意思的,一张表中有若干个数,0可以代表任何数 比如有张表{9, 2, 4, 1, 3, 0, 0, 0, 0},按照规则这张表中的四个0可以用来代表5,6,7,8,那么这张 ...

  2. .net中使用JQuery Ajax判断用户名是否存在的方法

    //第一步:新建一个(*.aspx|*.html)Index.aspx页面 添加jquery 1 <html xmlns="http://www.w3.org/1999/xhtml&q ...

  3. Lua查找表元素过程(元表、__index方法是如何工作的)

    近日开始研究Lua,在元表的使用上照猫画虎地搞了两下,实现了“面向对象”,但究其本质却略有不解,后咨询牛哥得解,特此记录. Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Val ...

  4. 【游戏开发】小白学Lua——从Lua查找表元素的过程看元表、元方法

    引言 在上篇博客中,我们简单地学习了一下Lua的基本语法.其实在Lua中有一个还有一个叫元表的概念,不得不着重地探讨一下.元表在实际地开发中,也是会被极大程度地所使用到.本篇博客,就让我们从Lua查找 ...

  5. Sql Server中判断表、列不存在则创建的方法[转]

    一.Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法  ? ...

  6. [转载]oracle 11g不能导出空表的多种解决方法

    原文地址:11g不能导出空表的多种解决方法">oracle 11g不能导出空表的多种解决方法作者:Anlin_Yang ORACLE 11g 用exp命令导出库文件备份时,发现只能导出 ...

  7. php 判断数组是否为空的几种方法

    php数组为空我们可以通过很多php自带函数来实现了,比如count函数,empty函数等都可以判断数组是否为空,下面小编就为各位整理了不少的判断数组是否为空的函数,希望对各位会带来帮助. PHP判断 ...

  8. java如何判断字符串是否为空的方法

    以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: ...

  9. Java空字符串与null的区别和判断字符串是否为空的方法

    Java空字符串与null的区别: 1.类型null表示的是一个对象的值,而并不是一个字符串.例如声明一个对象的引用,String a = null ;""表示的是一个空字符串,也 ...

随机推荐

  1. 如何使用List<HashMap<String, String>>详细讲解

    场景:要循环界面Table数据源与导出Excel数据源作对比. 说明: List<HashMap<String,String>>  List中每一项都是一个HashMap Ha ...

  2. Vue的双向数据绑定原理是什么?

    vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调. ...

  3. 对CountDownLatch的初步学习

    CountDownLatch的中文翻译为"闭锁",在JDK1.5中 CountDownLatch类加入进来.为程序猿进行并发编程提供有利的帮助. 首先我们先看看JDK文档中对于Co ...

  4. 为什么char *name="it",printf("%s",name) 能够输出字符串?

    “it”里面是3个字符  “i”“t”“/0”,%s会打印指针指向的字符就是“i”,知道遇到“/0”停止,所以打印出来是“it”

  5. 致敬金庸:武侠版编程语言...Java像张无忌还是令狐冲?

    我就喜欢这样,等新闻消失,热点过去,人们快要遗忘的时候, 用自己的方式,想起他.让他被人想起. 短评:夫千里之远,不足以举其大:千仞之高,不足以举其深.<倚天屠龙记> 短评:这世间和张三丰 ...

  6. Jenkins 主备master-slave模式搭建

    jenkins的版本是2.70,使用下来感觉是一个不错的版本,至于如何搭建jenkins,在此就不多说了,推荐的方法是先安装tomcat,然后再加jenkins.war放在tomcat的webapp路 ...

  7. css页面布局--三栏(两边固定中间自适应&两边自适应中间固定)

    http://www.cnblogs.com/zhanyishu/p/5656875.html

  8. IntelliJ Idea Java 使用

    IntelliJ Idea热加载 自动更新 IntelliJ IDEA热加载自动更新(Update classes and resources ) IntelliJ IDEA默认文件是自动保存的,但是 ...

  9. visual studio Lua 调试

    BabeLua是一款基于VS (简称VS)的免费开源的Lua集成开发环境,在Lua编辑和调试方面,具有如下功能和特性: ●Lua语法高亮 ●语法检查 ●自动补全 ●一键注释 ●格式化代码 ●自定义代码 ...

  10. Go linux 实践3

    Go 的灵魂-goroutine(协程), channel(渠道) 看看吧,不多说了 ************************************************ package ...