从本篇博客开始研究一下Lua,现在的Lua真得是很火,因为Cocos2d-x写游戏的时候会用到,所以就拿过来学学吧,先从基础的语法开始,然后慢慢的深入。本人也是刚刚学习,希望和学习Lua的大家交流,博客权当笔记,有错误之处还请赐教。当然首先是开发环境了,我的学习背景是Cocos2d-x,所以下载了最近发布的Cocos Code IDE版本,我们可以在Cocos Code IDE上边新建工程,然后写Lua测试代码,关于Cocos Code IDE的使用官方有不少的教程,...
http://www.unity蛮牛.com/thread-32861-1-1.html测试环境: unity4.5.2 三个脚本全是源码导入 PC :处理器 Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz 3.60GHz 内存: 8.00GB 系统 : Windows 7 64位先贴下源码:(注:cls的作者说 cls脚本作用域判断比较厉害 所以利用脚本里面的for循环 可能有点损耗cls的测试结果 更多测试结果请下载源码自行测试) Stopwatch watch = null; { watch =...
table.c 代码分析全局符号,常量,字符串,关联数组,文件列表的定义。全局符号:初始有 5 个基本的符号,Lua 预设的函数和库函数都注册在里面。常量:初始的几个常量是 Lua 中 type 的名字。字符串表,关联数组表,文件列表 所有的这些在 table.c 中定义的这些数组可以认为是 Lua 的全局注册表空间,Lua 的环境。函数分析/*
** Given a name, search it at symbol table and return its index. If not
** found, allocate at end ...
什么是协同(coroutine)?Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。线程和协同程序区别线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只有在明确...
逻辑运算符也是3个,and,or,not,只是不是返回false和true,只有false和nil表示假,其他的都是真andand使用短路运算,a and b,如果a为假,结果已经定了,返回a假,否则返回b,返回的也代表结果 oror也使用短路运算,a or b,如果a为真,返回b,不计算b,否则返回b 运用:x=x or v,if not x then x =v(a and b) or c,如果b是真的话,等于a?b:cmax=(x>y) and x or y,取x和y中的较大者. 原文:http://www.cnblogs.com/ptqueen/p/6759795.html
Server2012试用版不像其他的傻瓜式的流程激活;从测试版 到正式版的 指令:650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116014452726.jpg" title="1.jpg" />650) this.width=650;" src="/upload/getfiles/default/2022/11/16/20221116014453034.jpg" title="2.jpg" />原文:http://51log.blog.51cto.com/6076767/1362017
Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are +, -, *, /.Each operand may be an integer or another expression.
Some examples: ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6class Solution {
public:int evalRPN(vector<string> &tokens) {stack<int> myStack;int first,second,merge;for(int i=0; i<tokens.siz...
1.lua中的类 lua中其实是没有类的,有的只是表(table),而类之间的继承也就是将父类的表连到了一起,派生类中没有找到的属性和方法就通过元表查找父类2.lua中类的属性 classA = {width =10, height=10} classA={} classA.width=10 classA.height=10 两种方法都可以,通过点self.width统一调用3.类方法function Box:collsion()-- 默认第一个参数隐藏传递self,可以通过self.xxx 调用属性和方法
endfunction Box.creat...
typedef struct Table {CommonHeader;//表示这个表中提供了哪些元方法 最开始这个flags 的,也就是 ,当查找一次之后,如果该表中存在某个元方法lu_byte flags; /* 1<<p means tagmethod(p) is not present */ lu_byte lsizenode; /* log2 of size of `node‘ array *///散列桶数组的大小的 log2(size)struct Table *metatable;TValue *array; /* array part */Node *node; //散列桶数组起始位置的指针Node *lastfree; /* any ...
主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍)部分内容查阅自:《Lua 5.3 参考手册》中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1.数组①数组是key值从1开始并连续递增的table。②索引号是从1开始,不是从0开始。 2.既然是table,那当然是可以用上一节的内容进行读写的。lua还提供了一些只针对数组进行操作的API,如下:①LUALIB_API lua_Integer (luaL_len) (lua_State *L, int idx);使用于数组,可得...
---------------------------------------------闭包------------------------------------------------------一个函数内 返回另一个函数作用是函数A在调用结束之后不会被垃圾回收机制回收暂时 可以理解为 因为A返回了B 外面对 A里面的B进行引用 而 B依赖A存在闭包实现方式 函数A return 直接定义函数B ------------------------------------------------------可以一条语句上赋很多值-------------------------------------------...
函数的用途:1.完成指定的任务,这种情况下作为调用语句使用。2.计算并返回值,这种情况下,函数作为赋值语句的表达式使用。函数的参数为空,必须使用()表示函数调用。例外:当函数只有一个参数,并且这个参数是字符串或表构造时,()是可选的。lua提供了面向对象调用函数的语法o:foo(x)与o.f(o,x)是等价的。lua函数的实参与形参的匹配与赋值语句类似,多余部分被忽略,缺少部分nil补足。lua函数可以返回多个值,return后列出要返回...
我们主要解决如下几个问题:转:http://www.cnblogs.com/zisou/p/cocos2dx-lua2.html1,C++如何获取Lua里面的一个变量值?2,C++如何获取Lua里面一个Table(Lua利用Table实现面向对象,那就能调用Lua里面的比较高级的引用方法)3,C++如何访问Lua里面的一个方法?4,C++如何访问Lua里面的一个带参数的方法?5,C++如何访问Lua里面的一个带参数的方法并且带返回值?如果以上问题都解决了,基本能满足我们游戏开发中遇到的数据通信的...
Debian服务器上安装lua1)下载压缩包 wget http://www.lua.org/ftp/lua-5.1.4.tar.gz2)解压文件 tar zxvf lua-5.1.4.tar.gz3)安装文件 cd lua-5.1.4 make linux 这时遇到错误: “luaconf.h:276:30: fatal error: readline/history.h: 没有那个文件或目录 #include <readline/history.h>”,解决方法:注释掉不可以,百度一下,得到需要安装readline下载readline-6.3.tar.gzwget http://ftp.gnu.org/gnu/readline/r...
游戏中会遇到时区的问题比如北京时间晚上8点开启一个活动,此时此刻在世界各地都应该可以参加这个时候我们计算时间应该按照服务器的时间计算。所以一般做法是服务器发给客户端一个server_timestamp ,时间戳的意思是从1970年1月1日零时到现在的时间总秒数在lua中我们会转化成日期,比如: local date = os.date("*t",server_timestamp)这样算正常来说没什么问题但是很多国家地区采用了夏令时计时,北京时区是非夏令时区导致了os.da...