Lua _G】的更多相关文章

1.全局变量的原形 在Lua中,要声明全局变量很简单,那就是定义变量的时候,前面不要加上local. 这个神秘的全局变量,其实本质上也是一个table,它把我们创建的全局变量都保存到一个table里了. 而这个table的名字是:_G 我们来看看代码: -- 定义一个全局变量 gName = "哎哟,很挫哦"; -- 用三种方式输出变量的值 print(gName); print(_G["gName"]); print(_G.gName);   输出结果如下: [L…
怎么调试lua性能 我们的游戏使用的是Cocos2dx-lua 3.9的项目,最近发现我们的游戏.运行比较缓慢.想做一次性能优化了.其实主要分为GPU.CPU的分别优化.GPU部分的优化.网上有很多优化措施.但是CPU因为是每个项目都不一样所以也没有什么特别的通用的优化手段.软件运行的速度毕竟跟你的代码质量是直接挂钩的.常规的Lua优化方式.也就是很多地方在提的公共函数的本地化.比如说`local type = type`这种.不过在后来的调查中发现这种方式对于lua5.1效果比较明显.至于5.…
闭包 示例一 function newCounter() return function() -- anonymous function i = i + return i end end c1 = newCounter() print(c1()) --> 1 print(c1()) --> 2 示例二 function myPower(x) return function(y) return y^x end end power2 = myPower() power3 = myPower() )…
lua的很多语法跟matlab很像 最基本的赋值是一样的 循环和选择判断后面必须跟一个关键字:do和then ,, do ... end if - then - end table是lua的唯一一种数据结构,但是可以用它来构造数组.链表.字典等. -- Dict literals have string keys by default: t = {key1 ='value1', key2 =false} -- String keys can use js-like dot notation: p…
基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lua基类和C++基类极为相似,但是lua中却没有继承这一说,更没有所谓的派生类.lua只能通过一种行为(元表)来模拟C++继承这一方法. 元表:lua中提供的元表是用于帮助lua数据变量完成某些非预定义功能的个性化行为,当它做某一种操作,然而self表中却没有定义实现这种操作的方法,那么为了实现这一操…
Lua 5.3 的中文手册, http://cloudwu.github.io/lua53doc 在线浏览 --第一部分 -- 两个横线开始单行的注释 --[[ 加上两个[和]表示 多行的注释. --]] --------------------------------------------------- -- 1. 变量和流控制. ---------------------------------------------------- num = -- 所有的数字都是double. -- 别…
1. 基础字符串函数:    字符串库中有一些函数非常简单,如:    1). string.len(s) 返回字符串s的长度:    2). string.rep(s,n) 返回字符串s重复n次的结果:    3). string.lower(s) 返回s的副本,其中所有的大写都被转换为了小写形式,其他字符不变:    4). string.upper(s) 和lower相反,将小写转换为大写:    5). string.sub(s,i,j) 提取字符串s的第i个到第j个字符.Lua中,第一…
lua no class It is a prototype based language. 在此语言中没有class关键字来创建类. 现代ES6, 已经添加class类. prototype based 语言没啥优势. lua 如何构建class机制? https://github.com/fanqingsong/oopclass.lua 提供lua的 Object Oriented Programing Class 实现: 比其他实现更加轻量 https://github.com/Yonab…
背景 lua是类是借助表的来实现的, 类被定义后, 在使用场景下, 不希望被修改.如果被修改, 则影响的类的原始定义, 影响所有使用类的地方. 例如: --- router.lua class file router = class() router.xxx = function xxx end --- app.lua router.xxx = function yyy end 故提出新的要求: 1. 对于类在应用场景下,不能修改属性. 2. 对于类在应用场景下, 不能添加新的属性. 类的实现代…
Lua 与 Redis 标签: Java与NoSQL 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis - 案例-实现访问频率限制: 实现访问者 $ip 在一定的时间 $time 内只能访问 $limit 次. 非脚本实现 private boolean accessLimit(String ip, int limit, int time, Jedis jedis) { boolean result = true; String key = "rate.li…