Lua实现Map
通过Lua中自带的table来实现一个Map,可以根据键值来插入移除取值
map = {}
local this = map
function this:new()
    o = {}
    setmetatable(o, self)
    self.__index = self
    self.count =
    return o
end
function this:insert(k, v)
    if nil == self[k] then
        self[k] = v
        self.count = self.count +
    end
end
function this:remove(k)
    if nil ~= self[k] then
        self[k] = nil
        if self.count >  then
            self.count = self.count -
        end
    end
end
function this:getpair(k)
    local value = nil
    if nil ~= self[k] then
        value = self[k]
    --print("getpair")
    end
    return value
end
function this:clear()
    for k, _ in pairs(self) do
        if nil ~= self[k] then
            self[k] = nil
        end
    end
    self.count =
end
return map
Lua实现Map的更多相关文章
- 【OpenWRT之旅】如何自定义一个配置文件的设置界面
		作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1. 引言 OpenWRT中采用LuCI作为它的Web interface界面框架,采用Lua语言.在本文中将以 ... 
- openwrt web管理luci界面修改
		转自:http://blog.csdn.net/user_920/article/details/8504979 以前都没听过openwrt和luci,只接触过简单的php语言.由于工作原因,要修改下 ... 
- openwrt开源系统LUCI配置界面
		转自:http://www.right.com.cn/forum/thread-131035-1-1.html 本人菜鸟,最近在学习这方面的知识,在参考资料的基础上总结如下内容.这篇文章针对如何对op ... 
- 【架构】Nginx如何设置X-Request-ID请求头,记录请求时间:毫秒?
		Nginx is awesome, but it’s missing some common features. For instance, a common thing to add to acce ... 
- cartographer和ROS的坐标系关系
		参考定义见:backpack_3d.lua Local map frame是一次slam过程中的原点.但是现在cartographer支持Incremental mapping.global m ... 
- 怎么调试lua性能
		怎么调试lua性能 我们的游戏使用的是Cocos2dx-lua 3.9的项目,最近发现我们的游戏.运行比较缓慢.想做一次性能优化了.其实主要分为GPU.CPU的分别优化.GPU部分的优化.网上有很多优 ... 
- 使用Ldoc给Lua生成文档
		Ldoc介绍 LDoc是一个Lua的文档生成工具,过去,比较常用的Lua生成文档的工具是LuaDoc,可惜作者自从2008年之后就再也没有发布过新的版本了,说明作者基本上已经放弃维护了.而LDoc则是 ... 
- lua解析脚本过程中的关键数据结构介绍
		在这一篇文章中我先来介绍一下lua解析一个脚本文件时要用到的一些关键的数据结构,为将来的一系列代码分析打下一个良好的基础.在整个过程中,比较重要的几个源码文件分别是:llex.h,lparse.h.l ... 
- #研发解决方案#基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案
		郑昀 基于杨海波的设计文档 创建于2015/8/13 最后更新于2015/8/25 关键词:异常流量.rate limiting.Nginx.Apriori.频繁项集.先验算法.Lua.ELK 本文档 ... 
随机推荐
- 小程序二层嵌套循环数据:微信小程序开发(交流QQ群:604788754)
			WXML: <view class="martop15"> <view class="titlebox"> .二层嵌套循环 </v ... 
- 小白的python之路11/14
			视频69 固定命令的方式 1 vim /etc/profile 2 vim /etc/bashrc 3 vim /root/.bashrc 4 vim /root/.bash_profile 5 cd ... 
- Eclipse在线集成SpringBoot
			在线集成下载地址:http://dist.springsource.com/release/TOOLS/update/e4.8/ 注意:需要更改后面的版本号,跟随自己eclipse版本号下载,只需要改 ... 
- docker 下安装gitlab
			1.找到docker镜像 docker search gitlab 2.下载gitlab镜像 docker pull gitlab/gitlab-ce/ 3.通常会将 GitLab 的配置 (etc ... 
- python 数据分析--pandas
			接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利用pandas的DataFrames进行统计分析 ... 
- centos 7添加硬盘及LVM扩容
			一堆概念 分区工具 fdisk:支持MBR,对GPT支持的不好 parted:支持GPT partprobe(centos 5/6).partx(centos 7)通知内核强制重读磁盘分区表 分区表 ... 
- VM虚拟机拍摄快照时出错或者克隆失败解决办法
			在换了固态硬盘后,下载好VM,装虚拟机,结果克隆虚拟机和拍摄快照时出问题了. 拍摄快照时出错或者隆失败出现参数错误如图: 所提供的参数中有一个无效参数 解决办法 出现这个问题一般是在机械硬盘的电脑上面 ... 
- Thread类中start()方法喝run()方法有什么不同?
			答:当调用start()方法时会启动一个新创建的线程,然后在start()内部调用run()方法.这和直接调用run()方法不同.直接调用run()方法只是在原来的线程中调用,没有创建新的线程.只有调 ... 
- DevExpress ASP.NET Core Controls 2019发展蓝图(No.3)
			本文主要为大家介绍DevExpress ASP.NET Core Controls 2019年的官方发展蓝图,更多精彩内容欢迎持续收藏关注哦~ [DevExpress ASP.NET Controls ... 
- Quartz 2.2 动态添加、修改和删除定时任务
			QuartzManager.Java 动态添加.修改和删除定时任务管理类 import org.quartz.CronScheduleBuilder; import org.quartz.CronTr ... 
