lua学习
井冈山市监人
这个作者很懒,什么都没留下…
展开
-
LUA学习(二)---基本语法
eg1:print("Hello World")--输出函数Hello World --[[ lua语句是解释语言,边编译边执行,每句不用分号结束。]]eg2:--变量有值的时候才有类型,否则变量本身是无类型的a=1;b="abc"c={}d=print;print(type(a))print(type(原创 2015-03-23 20:37:23 · 503 阅读 · 0 评论 -
Lua unPack()
Lua UnPack函数用法实例,unpack它接受一个数组(table)作为参数,并默认从下标1开始返回数组的所有元素。local info={1,3,5,7,8,9}local a,b,c,d,e,f=unpack(info)print(a,b,c,d,e,f)输出:1 3 5 7 8 9如果遇到数组下有nil,或者有字母key的时候local info=...原创 2019-04-04 16:18:53 · 458 阅读 · 0 评论 -
Lua中os库的使用(execute,date,clock,time)
--更多详细参考 http://luaer.diandian.com/post/2011-10-09/5660047 ----更多详细参考 http://blog.csdn.net/goodai007/article/details/8077285--local function main() print(os.clock()) -- print(os.time()) dateTabl...原创 2019-04-10 18:50:19 · 3651 阅读 · 0 评论 -
lua的闭包概念理解与介绍
lua的闭包是个新概念,理解它需要个过程。今天在网上找了几篇文章看,不错,先记录下。1,lua闭包普通篇 http://hi.baidu.com/happynp/blog/item/b7736a1f7f65b3ffe0fe0b90.html2,lua闭包文艺篇 http://www.ibm.com/developerworks/cn/linux/l-cn-closure/3,lua闭包...转载 2019-04-01 17:00:15 · 1134 阅读 · 0 评论 -
Lua 函数、闭包、尾调用总结
1.函数函数有两种用途:完成指定的任务,这种情况下函数作为调用语句使用;计算并返回值,这种情况下函数作为赋值语句的表达式使用。1.1 语法function func_name (arguments-list) statements-list;end;示例function foo (x) return 2*x endfoo = function (x) return 2...转载 2019-04-01 17:30:24 · 504 阅读 · 0 评论 -
lua元表详解
================================用元表实现类function class(classname, ...) local cls = {__cname = classname} local supers = {...} for _, super in ipairs(supers) do local superType = t...转载 2019-04-01 18:13:11 · 543 阅读 · 0 评论 -
Lua中创建全局变量的小技巧(禁止未预期的全局变量)
Lua 有一个特性就是默认定义的变量都是全局的。为了避免这一点,我们需要在定义变量时使用 local 关键字。但难免会出现遗忘的情况,这时候出现的一些 bug 是很难查找的。所以我们可以采取一点小技巧,改变创建全局变量的方式。local __g = _G-- export global variablecc.exports = {}setmetatable(cc.exports,...转载 2019-03-29 11:50:52 · 2875 阅读 · 0 评论 -
Cocos2d Lua开发环境完全搭建
总体思路:用cocos2d自带的phthon脚本生成工程,cocos2d自带lua虚拟机,通过babelua插件显示已经创建的lua工程 然后通过代码中增加lua-cocos2d的接口来创建工程1.安装visual studio 2013http://pan.baidu.com/s/1i5QMW1v2.安装python http://pan.baidu.com/s...转载 2019-03-29 12:03:44 · 399 阅读 · 0 评论 -
Lua基础技巧
1,注释单行注释两个减号是单行注释:--多行注释--[[ 多行注释 多行注释 --]]2,string(字符串)字符串由一对双引号或单引号来表示。string1 = "this is string1"string2 = 'this is string2'也可以用 2 个方括号 "[[]]" 来表示"一块"字符串。html = [[&l...原创 2019-05-15 14:19:36 · 306 阅读 · 0 评论 -
lua垃圾回收机制
一、检测lua内存泄漏:注:使用“collectgarbage("collect")”,局部变量v被回收,my_list没有被回收。注:局部变量v占用的内存被回收。注:将my_list置为nil,使用“collectgarbage("collect")”可以回收。总结一:如何监测Lua的编程产生内存泄露:1. 针对会产生泄露的函数,先调用collect...转载 2019-06-05 09:59:40 · 829 阅读 · 0 评论 -
lua加载函数require和dofile
Lua提供高级的require函数来加载运行库。粗略的说require和dofile完成同样的功能但有两点不同:1.require会搜索目录加载文件;2.require会判断是否文件已经加载避免重复加载同一文件。由于上述特征,require在Lua中是加载库的更好的函数。(一) require require使用的路径和普通我们看到的路径还有些区别,我们一般见到的路径都是...转载 2019-06-05 11:38:22 · 1060 阅读 · 0 评论 -
Lua中调用C函数
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (lua_CFunction)(lua_StateL)。简单说明一下,该函数类型仅仅包含一个表示Lua环境...转载 2019-06-05 18:13:36 · 2835 阅读 · 3 评论 -
Lua资料之packagepath
◆ 背景:当多个lua项目在同一台服务器中有多个文件的文件名相同时,会优先使用路径中的排在前的项目的文件,导致引用的文件并不是你预期的那样。例如:有项目A和项目B,都有一个文件test.lua,而test.lua这个文件在项目A和项目B内容都是不一样的,如果nginx的配置中,lua的packagepath是把项目A放在了前面。那么项目B在引用test.lu...转载 2019-03-29 14:18:17 · 289 阅读 · 0 评论 -
lua 函数变量 assert判断
function UpdateView:onUpdateCancel(callback) assert(callback and type(callback) == "function") self.callback_ = callbackend原创 2017-10-09 15:31:29 · 2144 阅读 · 0 评论 -
Lua中and、or的一些特殊用法
Lua中的逻辑运算符:与(and)、或(or)和非(not),与其他语言的逻辑运算符功能一致,这里不做赘述。只说一点,所有的逻辑运算符将false和nil视为假,其他任何东西视为真,0也视为真。这里要说的是and和or的一些特殊用法。当连接2个操作数时:1.对于运算符and来说,如果它的第一个操作数为假,就返回第一个操作数;不然返回第二个操作数。所以,转载 2017-06-15 15:14:04 · 1734 阅读 · 0 评论 -
Lua学习(三)----基本语法
local iValue=10local fValue=10.2local funcValue=printlocal bValue=truelocal tbValue={}local strValue="hello lua"local nilValue=nilif type(iValue) == "number" thenprint("It is a number")endif...原创 2015-04-02 14:57:00 · 318 阅读 · 0 评论 -
Lua学习(一) ,lua在win下开环境
http://code.google.com/p/luaforwindows/下载区下载了Windows环境下开发的名为“SciTE”的单独IDE下载后直接安装即可。如图,按执行即可。原创 2015-03-17 14:09:21 · 366 阅读 · 0 评论 -
Lua学习(七)-----迭代器和泛型for
array={ "Lua","Tutorial"}for key,value in ipairs(array)doprint(key,value)end--[[上面的示例使用由Lua中提供的默认ipairs迭代函数。在Lua中,我们使用函数来表示迭代器。基于这些迭代器的功能状态保持,有两种主要类型:无状态的迭代器迭代器状态--]]func原创 2015-04-02 15:44:13 · 625 阅读 · 0 评论 -
Lua学习(六)-----函数
--[[函数是一组一起执行任务的语句。可以把代码放到独立的函数中。怎么划分代码功能之间的不同,但在逻辑上划分通常是让每个函数执行特定的任务。Lua语言提供了程序可以调用大量的内置方法。例如,方法print()打印作为输入传参数在控制台中。函数是已知的各种名称,如方法或子程序或程序等。--]]function foo_0()endfunction foo_1()return "a"...原创 2015-04-02 15:07:14 · 265 阅读 · 0 评论 -
Lua学习(四)----数组
-----------------------一维数组local array = {1,2,3}for i=1 , 3 do print(array[i])endlocal array1 = {}for i=-2, 2 doarray1[i]=iendarray1[1]=100for i=-2, 2 doprint(array1[i])原创 2015-04-02 14:59:21 · 402 阅读 · 0 评论 -
Lua学习(八)-----协同程序
下表列出了在Lua协同程序及其相应的使用所有的可用功能。S.N.Method & Purpose1.coroutine.create (f): 创建一个新的协程与函数f 和 返回类型“线程”的对象。2.coroutine.resume (co [, val1, ...]): 重新开始corountine co和传递原创 2015-04-03 15:25:53 · 389 阅读 · 0 评论 -
Lua和C++交互
一、Lua堆栈简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图:二、堆栈的操作因为Lua与C/C++是通过栈来通信,Lua提供了C API对栈进行操作。我们先来看一个原创 2015-08-24 16:21:04 · 247 阅读 · 0 评论 -
Lua学习(五)----表
-- Simple empty tablemytable = {}print("Type of mytable is ",type(mytable))mytable[1]= "Lua"mytable["wow"] = "Tutorial"print("mytable Element at index 1 is ", mytable[1])print("mytable原创 2015-04-02 15:02:30 · 541 阅读 · 0 评论 -
window下编译lua源码,编译lua的库文件,编译lua解释器,编译lua编译器
网上有很多博客讲如何在windows下编译lua源文件。两上大概是有两种方案:一种是用VS来编译,一种是自己写批处理文件,直接编译。附上以上两种方法的博客:借助VS开发在src文件夹下写批处理原创 2015-08-17 10:58:14 · 465 阅读 · 0 评论 -
Cocos Code ide 新建的项目无法运行,如何解决
用Cocos Code ide 新建的Lua项目后,点击运行。在有的版本中可能会出现以下报错:在cocos/cocos2d/Cocos2dConstants.lua中第620行出现错误只要在:cc.AsyncTaskPool.TaskType ={ TASK_IO = 0, TASK_NETWORK = 1, TASK_OTHER = 2, TA原创 2015-09-10 09:58:59 · 702 阅读 · 0 评论 -
Cocos2d-Lua(Quick-Cocos2d-x)内存释放
前言 对于内存的优化,网上有很多例子和教程。总体来说,就那么几种解决方案,在最后我会简单提下,这里先说下在quick中,对于图片的处理。1.查看内存调试信息 对于quick框架的了解,我们可以参考\docs\文件夹里面的文件,有相关api。学会学习的第一步,就是学会看api。好了,废话不多说,下面是和内存相关的地方。但是在这里我不说具体再项目中怎么使用了转载 2017-06-06 18:00:30 · 767 阅读 · 0 评论 -
quick-cocos2d-x CCHttpRequest詳細說明及用法
CCHttpRequest的用法很簡單1、Get方法,設置URL,響應事件:[html] view plain copy--[[ 設置ulr:"http://blog.csdn.net/longolder" 監聽:self:onResponseGet(event) 方法:GET --]]转载 2017-06-12 16:22:31 · 380 阅读 · 0 评论 -
关于Lua中const型变量或者常量的实现
--定义一个常量local const = {}local temp = {}local mt ={ --创建一个元表 __newindex = function(t,k,v) if not temp[k] then temp[k] = v else error("尝试给 const."..k.." 赋值") end ...原创 2019-09-03 11:46:47 · 2808 阅读 · 0 评论