在Lua中,函数是作为"第一类值"(First-Class Value),这表示函数可以存储在变量中,可以通过参数传递给其他函数,或者作为函数的返回值(类比C/C++中的函数指针),这种特性使Lua具有极大的灵活性。
Lua对函数式编程提供了良好的支持,可以支持嵌套函数。
另外,Lua既可以调用Lua编写的函数,还可以调用C语言编写的函数(Lua所有的标准库都是C语言写的)。...
分类:
其他好文 时间:
2014-09-21 12:26:30
阅读次数:
285
Lua有迭代器的概念,通过不同的迭代器,几乎可以遍历所有的东西。标准库提供的几种迭代器:io.lines(迭代文件中的每行), pairs(迭代table元素),ipairs(迭代数组元素), string.gmatch(迭代字符串中单词)等。
另外,可以自定义迭代器
使用pairs迭代器变量table
> t = {2,3,4,5}
> for i,v in pairs(...
分类:
其他好文 时间:
2014-09-21 11:52:00
阅读次数:
170
mysql-proxy简介MySQLProxy就是这么一个中间代理层,MySQLProxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用来说,MySQLProxy是完全透明的,应用则只需要连接到MyS..
分类:
数据库 时间:
2014-09-21 03:40:10
阅读次数:
416
函数的用途:
1.完成指定的任务,这种情况下作为调用语句使用。
2.计算并返回值,这种情况下,函数作为赋值语句的表达式使用。
函数的参数为空,必须使用()表示函数调用。例外:当函数只有一个参数,并且这个参数是字符串或表构造时,()是可选的。
lua提供了面向对象调用函数的语法
o:foo(x)与o.f(o,x)是等价的。
lua函数的实参与形参的匹配与赋值语句类似,...
分类:
其他好文 时间:
2014-09-21 01:14:09
阅读次数:
283
Lua是一种简单、可扩展、高效的脚本语言,被广泛应用于各种领域,如嵌入式系统、移动设备、Web服务器、有效。
Lua一开始就被设计成能与C语言或其他语言编写的软件相互集成。而Lua并不像C那么全面,但提供了C不太擅长的特性,例如对硬件的高级抽象、动态结构、无冗余、简易的测试和调试。另外,Lua还实现了一个安全的运行环境、一套自动内存管理机制、优秀的字符串处理能力和动态大小数组的处理能力。...
分类:
其他好文 时间:
2014-09-20 22:39:59
阅读次数:
200
Lua中字符串可以使用""或'',类似Javascript中的用法
> ="sdfdsf"
sdfdsf
> ='sfdd'
sfdd
> ='abc"'
abc"
> ="abc'"
abc'
同Java、Python一样,Lua的字符串是不可修改的值,可以通过string.gsub函数来替换字符串中的子串:
> s = string.gsub('abc de...
分类:
其他好文 时间:
2014-09-20 22:37:29
阅读次数:
254
Lua 中的每个值都可以用一个 metatable。 这个 metatable 就是一个原始的 Lua table , 它用来定义原始值在特定操作下的行为。 你可以通过在 metatable 中的特定域设一些值来改变拥有这个 metatable 的值 的指定操作之行为。 举例来说,当一个非数字的值作...
分类:
其他好文 时间:
2014-09-20 18:29:39
阅读次数:
257
在游戏脚本开发中,我们往往会发现脚本量非常大,而且我们经常会在一下核心脚本文件中定义一些常用的功能函数,但是Lua脚本没有提供include关键词,那又是怎样调用外部函数的呢?如何实现脚本的Include功...
分类:
其他好文 时间:
2014-09-20 15:39:39
阅读次数:
213
这里, 简单的记录一下lua中闭包的知识和C闭包调用前提知识: 在lua api小记2中已经分析了lua中值的结构, 是一个 TValue{value, tt}组合, 如果有疑问, 可以去看一下一些重要的数据结构 lua中有两种闭包, c闭包和lua闭包 两种闭包的公共部分: #define Clo...
分类:
其他好文 时间:
2014-09-19 13:34:55
阅读次数:
201
1. 创建lua虚拟机lua_State *lua_newstate (lua_Alloc f, void *ud)创建一个新的独立的lua虚拟机. 参数指定了内存分配策略及其参数, 注意, 让用户可以定制内存分配策略是十分有用的, 比如在游戏服务器端使用lua, 我做过一次统记lua在运行的时候会...