lua笔记
FrontinU
努力的人,应该像好色那样好学
展开
-
sublime Text 3写lua
sublime下载地址:http://www.sublimetext.com/3 1.sublime中文乱码的解决: 打开sublime,按Ctrl+~打开控制台,复制如下代码import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf =原创 2017-04-22 00:11:58 · 666 阅读 · 0 评论 -
lua 关于__index,__newindex的理解
table存在两种行为:查询和修改(赋值),我们可以通过元方法__index和__newindex来改变table的这两种行为。__index主要用于table的查询table[key] 的访问过程,首先检查table表中是否存在key的字段,如果有则返回,否则检查是否有__index的元方法,没有返回nil,有则查找元方法。__index元方法可以是不一定是一个函数,还可以是一个原创 2017-06-15 16:10:26 · 13491 阅读 · 1 评论 -
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 setend设置集合的交集,并集方法function Set.union(a,b) lo原创 2017-06-15 10:47:16 · 7528 阅读 · 0 评论 -
lua 内存
lua内存泄露首先第一点,lua中的内存泄露和我们所说的c/c++中的内存泄露本质上是不一样的。lua中有垃圾回收机制(GC),所以理论上是不会有内存泄露的。当它进行GC的时候,会从根部开始扫描所有的对象,如果某个地方对这个对象还有引用,就不会把这个对象内存collect,这个对象就没有被GC。所以lua中的内存泄露是指那些:已经没有被使用了,但外部依然还有引用存在的对象。转载 2017-06-25 17:25:25 · 4265 阅读 · 0 评论 -
lua 图
图的简单实现原创 2017-06-11 18:37:50 · 499 阅读 · 0 评论 -
Lua 双向队列的实现
local Queue ={}function Queue:new() local t = {firstId = -1, lastId = 0} setmetatable(t, self) self.__index = self return tendfunction Queue:pushFirst(data) local newFirstId = self.first原创 2017-06-11 16:04:12 · 624 阅读 · 0 评论 -
lua 链表,集合,字符串缓冲
链表简单实现:头结点变量:list插入操作:list = {next = list,value = v} 集合的实现:用集合的元素作为引用放入到table基本结构:local reserved = { ["white"] = true, ["red"] = true, ["function"] = true, }if reserved["white"] then原创 2017-06-11 16:56:21 · 699 阅读 · 0 评论 -
Lua 栈的简单实现
local Stack = {}function Stack:new() local t = {} setmetatable(t, self) self.__index = self return tendfunction Stack:push(data) self[#self+1] = dataendfunction Stack:pop() local data =原创 2017-06-11 15:43:53 · 491 阅读 · 0 评论 -
Lua 长度操作符
原文链接:http://www.cnblogs.com/youxin/p/3799339.html官方文档是这么描述#的:取长度操作符写作一元操作 #。 字符串的长度是它的字节数(就是以一个字符一个字节计算的字符串长度)。table t 的长度被定义成一个整数下标 n 。 它满足 t[n] 不是 nil 而 t[n+1] 为 nil; 此外,如果 t[1] 为 nil转载 2017-05-25 17:48:37 · 445 阅读 · 0 评论 -
lua元表
本文简译自一篇老外的博客,写得不错可惜我翻译的太烂,简译如下。(key–value常见翻译为“键值对”,我翻译为索引、值)在这篇教程里我会介绍Lua中一个重要的概念: metatable(元表),掌握元表可以让你更有效的使用Lua。 每一个tabel都可以附加元表, 元表是带有索引集合的表,它可以改变被附加表的行为。看下例:t = {} – 普通表 mt = {} – 元表...转载 2018-06-21 21:51:46 · 399 阅读 · 1 评论