Lua
文章平均质量分 75
lihei12345
这个作者很懒,什么都没留下…
展开
-
Lua程序设计笔记之五: 元表
一. 元表(metatable)与元方法(metamethod):通常,Lua中的每个值都有一套预定义的的操作集合。我们可以通过元表来修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定的操作。Lua中的每个值都有一个元表,table和userdata都可以有独立的元表,而其他类型的值则共享其类型所属的单一元表。任何table都可以作为任何值的元表,而一组相关的table也可以共享原创 2013-07-15 23:23:20 · 950 阅读 · 0 评论 -
Lua程序设计笔记之六: C API的使用
一. C APIC API是一组能使C代码与Lua交互的函数,其中包括读写Lua全局变量,调用Lua函数,运行一段Lua代码,以及注册C函数以供Lua代码调用等。C API遵循C语言的操作模式(modus operandi),这与lua的操作模式大为不同,当在C语言中编程时,应该注意类型检测(和类型错误),错误恢复、内存分配错误和其他的源代码复杂性。Lua和C语言通信的主要方式是一个无所不原创 2013-07-15 23:27:49 · 1115 阅读 · 0 评论 -
Lua程序设计笔记之二: 操作符/语句
一. 操作符1. +(加) -(减) *(乘) /(除) ^(指数) %(取模) -(负号)2. 关系操作符: = == ~=3. 逻辑操作符: and or false (and 和 or都使用“短路求值”)4. table的初始化风格分为记录风格的初始化以及列表风格的初始化;不推荐在lua中以0作为数组的起始索引;在一个构造式中,可以使用分号代替逗号,用于原创 2013-07-15 23:16:20 · 1147 阅读 · 0 评论 -
Lua程序设计笔记之三: 迭代器与泛型for
一. 迭代器与泛型for1. 所谓"迭代器"就是一种可以遍历一种集合中所有元素的机制,在Lua中,通常将迭代器表示为函数,每调用一次函数,即返回集合中的"下一个"元素。每个迭代器都需要在每次成功调用之间保持一些状态,这样才能知道它所在的位置及如何步进到下一个位置。迭代器的实例:#!/usr/bin/env luafunction Values (t) local i = 0原创 2013-07-15 23:19:16 · 909 阅读 · 0 评论 -
Lua程序设计笔记一: 基础用法/类型与值
最近公司要做游戏,就把我拉壮丁上了前线,没有办法,人手不足,要使用C++/Lua去做一些事情,项目又赶的很紧,很郁闷。。。在出来完app那边的开发工作之后,我就开始吃用cocos2d-x来做游戏了,-x框架使用起来的确非常方便,很容易就上手了,慢慢地觉得C++其实使用起来很方便,比起C来说的确是要爽很多,也非常强大。于是花了几天业余时间把lua过了一遍,又学习了一下C++的基本语法,跟大学时候学习原创 2013-07-15 23:12:55 · 1298 阅读 · 0 评论 -
Lua程序设计笔记之四: 编译,执行与错误
一. 编译,执行与错误1. 编译: 1). loadfile会从一个文件加载Lua代码块,但它不会运行代码,只是编译代码,然后将编译结果作为一个函数返回,此外,与dofile不同的还有loadfile不会引发错误,它只是返回错误值并不处理错误;2). dofile: 加载并且运行lua文件 function dofile(filename) local f = asser原创 2013-07-15 23:21:40 · 1027 阅读 · 0 评论 -
Lua程序设计笔记之七: lua与c互调
一. 扩展应用程序,从C中调用lua,lua的一个重要用途就是作为一种配置语言;1. table操作:1). 读取操作:Lua API只提供了一个函数lua_gettable,它能处理所有的类型,但它需要知道table在栈中的位置,然后才会在栈中弹出key,并压入相应的value。由于经常需要使用字符串来索引table,在lua5.1中,提供了一个lua_gettable的特化版本lua_原创 2013-07-15 23:31:59 · 1108 阅读 · 0 评论