lua
tianxiawuzhei
热爱技术,喜欢探究,喜欢记录和分享。
展开
-
lua面向对象很好的文章 -- 网址(备忘)
一、详解QuickCocos2dX继承机制原文地址:http://childhood.logdown.com/posts/169509/detailed-quickcocos2dx-inheritance-mechanism二、Lua与OOP详解:封装、继承、多态 原文地址:http://jinming.lee.blog.163.com/blog/static/13369529420原创 2015-01-21 10:43:58 · 756 阅读 · 0 评论 -
lua 模块思考(1)
lua中也可以实现面向对象,可以继承,多态。其实lua中的类其实就是一个table,而且通过require加载某个模块,要加载一个模块,只需要简单地调用require “”就可以了。这个调用会返回一个由模块函数组成的table,并且还会定义一个包含该table的全局变量。我们不要这个模块就相当于C++中的类,如果我们需要实例化一个类,就是创建一个对象,那我们原创 2015-04-03 18:07:55 · 571 阅读 · 0 评论 -
lua table 使用记录
local mm = { [2] = 3, ["2"] = 4 }print("=============================")print(mm[2])print(mm["2"])print(mm[tostring(2)])print(mm[tonumber("2")])mm[2] = 6mm["2"] = 7print("-------------------原创 2015-04-30 12:32:40 · 641 阅读 · 0 评论 -
package.loaded
package.loadedSummaryTable of loaded packagesPrototypepackage.loadedDescriptionA table of the packages that are already loaded. Built-in packages (eg. table, string) are also in this table.转载 2015-06-02 20:03:55 · 1844 阅读 · 0 评论 -
LUA modue require package 区别
【lua 5.1 的 module】lua 从 5.1 开始终于官方提供统一的 module 实现标准了,这是个值得庆幸的事。今天读了下相关的源码和文档,把这套机制搞清楚了,还是很巧妙的。从简洁这个角度看,要比 python 强 :)有一点容易被忽略掉(我的同事在用的时候就忽略掉了),module 指令运行完后,整个环境被压栈,所以前面全局的东西再看不见了。比如定义了一个转载 2015-06-02 14:28:55 · 2434 阅读 · 0 评论 -
lua-5.1 和 lua-5.2 之间的一些差异。
1. luaL_register 2 luaL_setfuncslua5.1 之中有一个luaL_register,用于把luaL_Reg 数组中的所有函数注册到lua中。但在lua5.2中已经不支持这一函数了,lua5.2的手册中建议使用luaL_setfuncs来替代luaL_register.使用如下。[cpp] view plainc转载 2015-06-02 20:16:07 · 2715 阅读 · 0 评论 -
lua中table如何安全移除元素
MAY 20, 2014 | 4 COMMENTS在Lua中,table如何安全的移除元素这点挺重要,因为如果不小心,会没有正确的移除,造成内存泄漏。引子比如有些朋友常常这么做,大家看有啥问题将test表中的偶数移除掉local test = { 2, 3, 4, 8, 9, 100, 20, 13, 15, 7, 11}for i, v in ipair转载 2015-06-26 15:23:10 · 1242 阅读 · 0 评论 -
lua垃圾回收机制
一、检测lua内存泄漏:注:使用“collectgarbage("collect")”,局部变量v被回收,my_list没有被回收。注:局部变量v占用的内存被回收。注:将my_list置为nil,使用“collectgarbage("collect")”可以回收。总结一: 如何监测Lua的编程产生内存泄露:1. 针对会产生转载 2015-06-29 11:32:26 · 8325 阅读 · 0 评论 -
lua math.fmod使用注意小数问题
lua math.fmod使用注意小数:--Returns the remainder of the division of x by y.function math.fmod (x, y) end //取模运算这里需要注意小数的问题,看下面两个例子:1、local x = math.fmod(15, 4)print(x)结果:42、local x = math.fm原创 2015-05-25 17:24:45 · 9179 阅读 · 1 评论 -
lua 时间转化
1、把时间 秒,转化为xx天xx时xx分xx秒 的形式--把时间 秒,转化为xx天xx时xx分xx秒 的形式function convertTimeForm(second) local timeDay = math.floor(second/86400) local timeHour = math.原创 2015-05-25 17:30:23 · 5044 阅读 · 0 评论 -
lua table使用记录(2)
table以字符串为key的使用情况:例子:local test = { }test.x = 6test["y"] = 7for k, v in pairs(test) dolocal str = string.format("key = %s, value = %s", tostring(k), tostring(v))print(str)endp原创 2015-03-18 11:19:38 · 516 阅读 · 0 评论 -
lua table使用记录(1)
例子:local test = { }test[1] = 3 --这两种方式不同test["1"] = 8for k, v in pairs(test) dolocal str = string.format("key = %s, value = %s", tostring(k), tostring(v))print(str)--print("key = "原创 2015-03-18 11:10:42 · 523 阅读 · 0 评论 -
Tables Tutorial
Tables are the only "container" type in Lua. They are associative arrays ([1]), which means they store a set of key/value pairs. In a Key/Value pair you can store a value under a key and then later转载 2015-03-18 13:07:30 · 490 阅读 · 0 评论 -
lua的table.sort 中出现 invalid order function for sorting
今天很诡异地遇到这个错误,看意思是排序的比较函数有问题,但自己一开始用各种方式都无法让lua报出这个错,包括给table.sort的第二个参数传入各种稀奇古怪的东西。后来看到其它论坛里有人也问这问题,那人写了个洗牌程序出这个错了。我想了下,估计是稳定排序和不稳定排序的问题。验证了一下,果然是这样。原来的比较函数(根据score排序,score相同排lv):?转载 2015-01-21 10:13:17 · 11553 阅读 · 0 评论 -
lua 多行注释和取消多行注释
1、lua多行注释:--[[ 代码块--]]2、取消多行注释:---[[ 代码块--]]原创 2015-03-19 12:41:45 · 40717 阅读 · 0 评论 -
【木头Cocos2d-x 031】Lua篇(第06章):Lua调用C++的函数
到这为止,大家对Lua和C++之间的通信应该有些熟悉了,今天我们来介绍最后一个操作。(旁白:什么?最后一个?要结束了么?太好了~!) 上一章传送门:http://blog.csdn.net/musicvs/article/details/8451361笨木头花心贡献,啥?花心?不呢,是用心~转载请注明,原文地址: http://blog.cs转载 2015-03-05 15:41:36 · 494 阅读 · 0 评论 -
C 编写lua模块(1)
问题:今天在看云风的Proto Buffers in Lua时,有个疑问:在看protobuf.lua文件时,看到开头有local c = require "protobuf.c" 这一行,去文件目录下搜索了一下protobuf.c,但是根本就没有这个文件,我就感觉不是很明白,但是有一个pbc-lua.c文件,这两个之间有什么关系?解决:网上google一番,找到几篇挺好的原创 2015-03-05 17:03:42 · 3472 阅读 · 6 评论 -
win下创建win32控制台工程,执行lua脚本
1、先创建一个一个静态库工程,创建时,不使用预处理头,把下载的lua源码加入到工程中,记得去掉luac.c文件,编译库文件。出现问题:1、1>..\src\lua.c(309): error C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disab原创 2015-03-06 17:49:03 · 1939 阅读 · 0 评论 -
lua math.ceil math.ceil
1、Lua有8个基本类型,nil, boolean, number, string, userdata, function, thread, tableNumbers:Number类型代表实数(在计算机中占两个地址的浮点数)。Lua没有整型,并且也不需要。有个普遍的误解,使用浮点型会有算术错误,一些人害怕浮点型即使一个简单的“加”运算也会有奇奇怪怪的问题。但事实上,用一个d原创 2015-03-12 19:49:23 · 8930 阅读 · 0 评论 -
lua string.format
lua string.format使用记录:总结:填补的内容个数要大于等于格式符的个数。原创 2015-03-12 20:15:58 · 1660 阅读 · 0 评论 -
lua utf8 len sub
今天需要使用cocos2dx的lable一行显示不完,但是第二行又要居中的情况,于是就想到采用字符串分隔,第一行显示几个,剩下的显示在第二行。但是使用的utf-8编码,而且使用的是lua,lua本身库没有这方面的函数,于是上网找了一番,有很多大牛共享了一些方法,可以拿来用。参考:https://github.com/easysoft/zentaomobile/b原创 2015-03-14 11:38:59 · 2040 阅读 · 0 评论 -
lua table使用记录(3)
table初始化访法:--local test = { "m" = 18} -- 错误--local test1 = { [m] = 19 } -- 错误local test2 = { ["m"] = 20 } -- 正确local test3 = { m = 21} -- 正确原创 2015-03-18 11:34:02 · 458 阅读 · 0 评论 -
lua学习笔记之五(Lua中的数学库)
Lua中的数学库Lua5.1中数学库的所有函数如下表:math.pi 为圆周率常量 = 3.14159265358979323846 表1数学库说明例子转载 2015-05-25 19:48:36 · 885 阅读 · 0 评论