LUA 删除元素的问题
table在删除元素时要注意,例
t = { "hello", "world", "!"}
t[1] = nil
此时print(#t) --输出3,就是说把表的元素置为nil并没有移除该表项。
但,若是:
t = {
[] = nil,
[] = ,
[] = nil
}
function count(t)
local c =
for k, v in pairs(t) do
c = c +
end
return c
end
print(count(t))--1
再看更诡异的
t = {
[] = ,
[] = nil,
[] =
}
function count(t)
local c =
for k, v in pairs(t) do
c = c +
end
return c
end
print("------------------", #t)
t2 = { "hello", "world", "!"}
t2[] = nil
t2[] = nil
t2[] = nil
print("--------t2---------", #t2)
for k, v in pairs(t2) do
print(k, v)
end
print("--------------->")
for i=, #t2 do
print(i, t2[i])
end
LUA 删除元素的问题的更多相关文章
- NYOJ----776删除元素
删除元素 时间限制:1000 ms | 内存限制:65535 KB 描述 题意很简单,给一个长度为n的序列,问至少删除序列中多少个数,使得删除后的序列中的最大值<= 2*最小值 输入 多组测 ...
- nyoj 776 删除元素
删除元素 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 题意很简单,给一个长度为n的序列,问至少删除序列中多少个数,使得删除后的序列中的最大值<= 2*最小值 输 ...
- 【转】ArrayList循环遍历并删除元素的常见陷阱
转自:https://my.oschina.net/u/2249714/blog/612753?p=1 在工作和学习中,经常碰到删除ArrayList里面的某个元素,看似一个很简单的问题,却很容易出b ...
- 如何在遍历中使用 iterator/reverse_iterator 删除元素
如何在遍历中使用 iterator/reverse_iterator 删除元素 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公 ...
- javascript删除元素节点
1.删除元素父节点 function removeElement(_element){ var _parentElement = _element.parentNode; if(_parentElem ...
- 遍历List过程中删除元素的正确做法(转)
遍历List过程中删除元素的正确做法 public class ListRemoveTest { 3 public static void main(String[] args) { 4 ...
- 创建删除元素appendChild,removeChild,createElement,insertBefore
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- List怎么遍历删除元素
public static void main(String[] args) { List<String> list = new ArrayList<String>(); ...
- JQUERY添加、删除元素、eq()方法;
一.jQuery - 添加元素 1.append() - 在被选元素内部的结尾插入指定内容 2.prepend() - 在被选元素内部的开头插入指定内容 3.after() - 在被选元素之后插入内容 ...
随机推荐
- python学习笔记(三)---python关键字及其用法
转载出处:https://www.cnblogs.com/ECJTUACM-873284962/p/7576959.html 前言 最近在学习Java Sockst的时候遇到了一些麻烦事,我觉得我很有 ...
- Linux中查看进程和杀掉进程
ps -A查看正在运行的所有进程 kill -9 xxx杀掉某个进程,xxx为进程ID.
- angular学习笔记系列一
首先我们要明确一点,angular在web应用的角色,在传统的多页面web应用程序中,服务器根据输出数据和html模板渲染好页面所需的html输出到页面(所谓的服务器装配程序),随着单页面应用程序和a ...
- window.onload 和 body.onload 相互覆盖的本质
从根源上讲,window.onload和<body onload="alert('test');"> 所绑定的对象都是window ,body是没有onload事件的, ...
- Swift 标签控制器(tabbar添加提醒和控制器)
// Override point for customization after application launch. //初始化window, 大小为设备物理大小 self.window = U ...
- I.MX6 7" navigation bar as black bar
/********************************************************************************* * I.MX6 7" n ...
- flask第二十二篇——模板【4】过滤器
请关注微信公众号:自动化测试实战 先来教大家一个pycharm设置默认模板的方法.我们每次新建模板或者平时写代码打开以后可能都要重复写# coding: utf-8这些代码,其实我们可以设置好模板,让 ...
- 有些文件不需要配置,只需要放到resources下面
今天和一位同事探讨了一个问题,开始的时候我事先的读取某个映射文件是配置在applicationContext.xml的bean定义里面:但是他提出来,是否可以不需要配置呢?直接作为一个资源文件完事,这 ...
- 使用ffmpeg步骤(转)
av_register_all();//初始化ffmpeg库,如果系统里面的ffmpeg没配置好这里会出错 if (isNetwork) { //需要播放网络视频 avforma ...
- 在Eclipse中搭建Python开发环境
在Eclipse中搭建Python开发环境 来自: http://hi.baidu.com/hqwfreefly/blog/item/2543181d0afd9604314e150e.html 前言 ...