lua
文章平均质量分 85
chenyulancn
python、golang、c/c++、linux、虚拟化、大数据
展开
-
lua中遍历table的几种方式比较
当我在工作中使用lua进行开发时,发现在lua中有4种方式遍历一个table,当然,从本质上来说其实都一样,只是形式不同,这四种方式分别是: for key, value in pairs(tbtest) do XXX end for key, value in ipairs(tbtest) do XXX end for i=1, #(tbtest) do转载 2016-10-27 15:45:37 · 763 阅读 · 0 评论 -
lua中的特殊语法
变量无需声明类型(variable type), 无需在首次使用前声明 以下语句是用C语言书写的. int i; i = 9; printf("%d/n",i); 类似的行为在Lua中的语句是这样的: > i = 9 > print(i) 9 不需要事先声明i及其类型, 可以直接使用 此外, 变量的类型也不是固定的, 是由其当前值决定的. 可以随时赋不同转载 2016-10-27 15:54:18 · 619 阅读 · 0 评论 -
lua随机数
Lua 生成随机数需要用到两个函数: math.randomseed(xx), math.random([n [, m]]) 1. math.randomseed(n) 接收一个整数 n 作为随机序列种子。 2. math.random([n [, m]]) 有三种用法: 无参调用, 产生 (0,1) 之间的浮点随机数; 只有参数 n, 产生 1-n 之间的整数; 有两个参数 n, m,转载 2016-10-27 15:57:31 · 509 阅读 · 0 评论 -
用Lua实现插入、删除和查找时间复杂度为O(1)的集合
利用下面代码可以定义一个集合S,对该集合所有的操作,比如插入、删除元素和查找元素都是O(1),代码如下: function newset() local reverse = {} --以数据为key,数据在set中的位置为value local set = {} --一个数组,其中的value就是要管理的数据 return setmetatable(set,{__inde转载 2016-10-27 16:09:23 · 1574 阅读 · 0 评论 -
lua的table库中常用的函数
lua提供了一些辅助函数来操作table。例如,从list中insert和remove元素,对array的元素进行sort,或者concatenate数组中的所有strings。下面就详细地讲解这些方法。 insert and remove table.insert将一个元素插入到指定位置,例如: t = {1, 2, 3} table.insert(t, 1, 4} t的结果转载 2016-10-27 16:13:01 · 457 阅读 · 0 评论 -
lua的string库与强大的模式匹配
ua原生解释器对字符串的处理能力是十分有限的,强大的字符串操作能力来自于string库。lua的string函数导出在string module中。在lua5.1,同时也作为string类型的成员方法,因此,我们既可以写成string.upper(s), 也可以s:upper(),选择你喜欢的写法。 string.len(s)返回s的长度。 string.rep(s, n)返回重复s字转载 2016-10-27 16:15:07 · 328 阅读 · 0 评论 -
lua 集合操作
local Set = {} local mt = {} function Set.new(t) local set = {} setmetatable(set, mt) for k,v in pairs(t) do set[v] = true end return set end function Set.union(a,b) local set = Set....转载 2018-08-23 17:28:39 · 5995 阅读 · 0 评论