Lua学习笔记
文章平均质量分 74
Lua是一种动态类型的语言。在语言中没有类型定义的语法,每个值都带有其自身的类型信息。本系列教程为您介绍Lua语言的基础知识。快速了解Lua语言,掌握Lua语言基础。
热血枫叶
开朗、活泼
展开
-
Lua代码编写规范
Lua代码编写规范开发中,大量使用lua,暂时根据当前状况,总结相对而言较好的规范,在多人协作中可以更好的开发、交流。介绍该文档旨在为使用lua编写应用程序建立编码指南。制订编码规范的目的:统一编码标准,通用,提高开发效率;使代码通俗易懂,易于维护。切记:善用调试器。一、命名惯例1.所有lua文件命名时使用小写字母、下划线2.类名、变量名尽可能使用有意义的英文,类名使用帕斯卡原创 2015-07-23 22:04:26 · 11770 阅读 · 0 评论 -
我所理解lua 语言中的点、冒号与self
lua编程中,经常遇到函数的定义和调用,有时候用点号调用,有时候用冒号调用,这里简单的说明一下原理。如:点号调用:-- 点号定义和点号调用:girl = {money = 200}function girl.goToMarket(girl ,someMoney) girl.money = girl.money - someMoneyendgirl.goToMarket(girl ,1原创 2015-06-18 11:37:15 · 3826 阅读 · 0 评论 -
Lua中的模块与module函数
这篇文章主要介绍了Lua中的模块(module)和包(package)详解,本文讲解了require函数、写一个模块、package.loaded、module函数等内容. 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包。require用于使用模块,module用于创建模块。简单的说,一个模块就是一个程序库,可以通过require原创 2015-06-13 15:57:10 · 8307 阅读 · 0 评论 -
Cocos2d-x使用Luajit实现加密
项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。下面是使用原生的lua解释器编译字节码: 1、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out.lua脚本文件 2、开始--运行--cmd3、luac -o out.lua 1.lu原创 2015-01-31 17:07:15 · 2852 阅读 · 0 评论 -
lua 函数回调技巧
技巧1:local a = {};function b() print("Hello World")enda["sell"] = {callFunc =b}a["sell"].callFunc()技巧2: 使用lua 自带的 unpack : 解释:把一直数组(只有连续数字下标的 table)展开成一串返回值,但是对用字符串或别的东西做 key 的 table 无能为力。fu原创 2014-11-14 14:32:54 · 4671 阅读 · 0 评论 -
Lua中的元表与元方法
前言Lua中每个值都可具有元表。 元表是普通的Lua表,定义了原始值在某些特定操作下的行为。你可通过在值的原表中设置特定的字段来改变作用于该值的操作的某些行为特征。例如,当数字值作为加法的操作数时,Lua检查其元表中的"__add"字段是否有个函数。如果有,Lua调用它执行加法。我们称元表中的键为事件(event),称值为元方法(metamethod)。前述例子中的事件是"add",元方法是执行加原创 2014-10-23 22:36:48 · 2355 阅读 · 0 评论 -
lua 如何输出树状结构的table?
为了让游戏前端数据输出更加条理,做了一个简单树状结构来打印数据。ccmlog.lualocal function __tostring(value, indent, vmap) local str = '' indent = indent or '' vmap = vmap or {} --递归结束条件 if (type(value) ~= 'table')原创 2014-08-13 22:39:26 · 3641 阅读 · 0 评论 -
Lua 常用数据结构
Lua中的table不是一种简单的数据结构,它可以作为其它数据结构的基础。如数组、记录、线性表、队列和集合等,在Lua中都可以通过table来表示。一、数组 在lua中通过整数下标访问表中的元素即可简单的实现数组。并且数组不必事先指定大小,大小可以随需要动态的增长。a = {}for i = 1,100 do a[i] = 0endprint("The length of arra原创 2014-08-13 17:50:56 · 11398 阅读 · 0 评论 -
Lua中调用C函数(lua-5.2.3)
Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。 对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。 对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。 简单说明一下,该函数类原创 2014-05-19 12:13:01 · 2541 阅读 · 2 评论 -
VS2010编译Lua程序(lua-5.2.3)
编译静态链接库 1.下载Lua源码 下载后解压到一个目录下,这里假设解压到D:\win32Lua注意下载的版本,如果是5.2.x,后面代码中的C API发生了改变 2)在VS2010中新建一个静态库项目,项目命名为lua a 选择新建 Win32 console project b 在wizard界面选择 static Library;不选择Pre原创 2014-05-17 21:07:17 · 2528 阅读 · 0 评论 -
LUA IO库
I/O库为文件操作提供两种模式。简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。完全模式(complete model)使用外部的文件句柄来实现。简单模式 I/O库将当前输入文件作为标准输入(stdin),将当前输出文件作为标准输出(stdout)。这样当我们执行io.read,就是在标准输入中读取一行。写操作较读操作简单,我们先原创 2014-05-14 22:40:56 · 3526 阅读 · 0 评论 -
LUA string库
string库中所有的字符索引从前往后是1,2,...;从后往前是-1,-2,...string库中所有的function都不会直接操作字符串,而是返回一个结果原创 2014-05-14 15:43:26 · 2863 阅读 · 0 评论 -
Lua中的常用操作系统库
os.date ([format [, time]])os.difftime (t2, t1)原创 2014-04-11 23:12:43 · 2582 阅读 · 0 评论 -
Lua中的table函数库
Lua中的table函数库 table库由一些操作table的辅助函数组成。他的主要作用之一是对Lua中array的大小给出一个合理的解释。另外还提供了一些从list中插入删除元素的函数,以及对array元素排序函数。table.concat(table, sep, start, end) concat是concatenate(连锁, 连接原创 2014-03-09 22:22:33 · 6538 阅读 · 0 评论 -
lua学习笔记之五(Lua中的数学库)
Lua中的数学库Lua5.1中数学库的所有函数如下表:math.pi为圆周率常量 = 3.14159265358979323846 表1数学库说原创 2013-10-28 15:52:53 · 3827 阅读 · 0 评论 -
lua学习笔记之四(Lua中的基本函数库)
Lua中的基本函数库表1基本函数库功能参数备注assert(v[,mess age]) 相当于C的断言v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertion failed!"原创 2013-10-28 15:40:45 · 1962 阅读 · 0 评论 -
lua学习笔记之三(C/C++程序员的Lua快速入门[高阶话题])
高阶话题1.迭代1.1 实例代码: --迭代 local function enum(array) local index = 1 return function() local ret = array[index] index = index + 1 return ret end end local function f原创 2013-10-28 14:55:39 · 2399 阅读 · 0 评论 -
lua学习笔记之二(C/C++程序员的Lua快速入门[进阶话题])
进阶话题1.函数闭包1.1 实例代码 function createCountdownTimer(second) local ms = second * 1000 --ms为countDown的Upvalue local function countDown() ms = ms -1 return ms end return co原创 2013-10-28 14:23:48 · 2666 阅读 · 0 评论 -
lua学习笔记之一(C/C++程序员的Lua快速入门[初阶话题])
前言本文针对的读者是有经验的C/C++程序员,希望了解Lua或者迅速抓住Lua的关键概念和模式进行开发的。因此本文并不打算教给读者条件语句的语法或者函数定义的方式等等显而易见的东西,以及一些诸如变量、函数等编程语言的基本概念。本文只打算告诉读者Lua那些与C/C++显著不同的东西以及它们实际上带来了怎样不同于C/C++的思考方式。不要小看它们,它们即将颠覆你传统的C/C+原创 2013-10-28 11:37:14 · 2822 阅读 · 3 评论