【Lua使用os.date函数也要小心】教程文章相关的互联网学习教程文章

Lua中的函数知识总结

前言Lua中的函数和C++中的函数的含义是一致的,Lua中的函数格式如下:复制代码 代码如下: function MyFunc(param) -- Do something end 在调用函数时,也需要将对应的参数放在一对圆括号中,即使调用函数时没有参数,也必须写出一对空括号。对于这个规则只有一种特殊的例外情况:一个函数若只有一个参数,并且此参数是一个字符串或table构造式,那么圆括号便可以省略掉。看以下代码:复制代码 代码如下: print "Hello World" ...

Lua使用os.date函数也要小心【代码】【图】

前段时间,在给我们游戏服务器写lua的脚本的时候,发现了一个奇怪的现象,一段lua代码只要一执行就把服务器给搞挂了,仔细分析了一下,发现这段lua代码并没有执行什么特别的操作,甚至都没有跟我们服务器的C++层交互,仅仅只是使用lua自身的一些库函数,而且只对windows平台下的服务端会产生这个崩溃。初步认为是windows平台的原因。于是我在windows平台下编译了lua的源码,跟进去后发现原来是宕在了windows的CRT函数里,解释一下C...

(原创) cocos2d-x 3.0+ lua 学习和工作(4) : 公共函数(8): 生成只读table【代码】

这个函数的作用是:生成只读table。--[[ -- 生成只读table -- @param table t 需要不允许修改的tableexample:local tb = {"星期一", "星期二", "星期日"} local days = readOnly( tb );days[2] = "星期三哪去了啊?" ;"[string \"Functions.lua\"]:466: 别修改我!我是只读的!" --]] function readOnly( t )local newT = tlocal mt = {__index = {}, -- 如果改成 newT = {}, __index = t, 会导致无法直接使用for循环遍历,...

lua的几个时间相关处理函数【代码】

随手写的,项目中没用,不一定对,只作参考。--游戏时间相关函数local gt = {}local math = math local ONE_MINUTE = 60local ONE_HOUR = ONE_MINUTE * ONE_MINUTE local ONE_DAY = ONE_HOUR * 24local ONE_WEEK = ONE_DAY*7--本地时间2000-01-01 00:00对应UTClocal sec_2000 = os.time{year=2000,month=1,day=1,hour=0,min=0,sec=0} local refresh_2000 = sec_2000 + ONE_HOUR*4local monday_2000 = os.time{year=2000,month=1,da...

lua函数【代码】

https://www.cnblogs.com/chuanwei-zhang/p/4077247.htmlhttps://www.cnblogs.com/sifenkesi/p/3876745.htmlhttps://www.cnblogs.com/ringofthec/archive/2010/10/22/lua.html1.lua_gettablevoid lua_gettable (lua_State *L, int index);把t[k] 值压入堆栈,这里的 t 是指有效索引 index 指向的值,而 k 则是栈顶放的值。这个函数会弹出堆栈上的 key,把结果放在栈上相同位置。// 将一个key放到栈顶,这个key为1。如果你的key是字...

Lua function函数,可变参数, 局部函数,尾递归优化【图】

在Lua中,函数是作为"第一类值"(First-Class Value),这表示函数可以存储在变量中,可以通过参数传递给其他函数,或者作为函数的返回值(类比C/C++中的函数指针),这种特性使Lua具有极大的灵活性。 Lua对函数式编程提供了良好的支持,可以支持嵌套函数。 另外,Lua既可以调用Lua编写的函数,还可以调用C语言编写的函数(Lua所有的标准库都是C语言写的)。 定义一个函数function hello()print(‘hello‘)end hello函数不接收...

关于QT中evaluateJavaScript()函数返回值的处理问题

关于QT中evaluateJavaScript()函数返回值的处理问题 - 寒风问雪的专栏 - 博客频道 - CSDN.NET关于QT中evaluateJavaScript()函数返回值的处理问题 分类: QT2012-08-17 21:28851人阅读评论(0)收藏举报qt脚本测试 关于QT中evaluateJavaScript()函数返回值的处理问题 by 寒风问雪 在QT中我们可以通过evaluateJavaScript()函数很方便的执行js语句,evaluatejavascript()函数返回的是js脚...

Lua中实现类似C语言的函数重载【代码】

Lua不支持像C那样的重载,例如,像下面这种形式在Lua中无法得到预期结果1function Add(a,b) 2return a + b 3end45function Add(a,b,c) 6return a + b + c 7end 但是,Lua中函数对于传入的参数个数也很宽松,它会自动去适应传入的参数,如果传入的参数个数多于定义的个数,则会自动忽略后面多于的参数,如果传入的参数个数少于定义的个数,则会将不足的参数用nil补齐。例如,上述希望实现的重载可以用下面的形式完成:1funct...

关于C#调用XLua的函数抛出attempt to call a nil value (global 'print')【代码】

网上有很多解决异常:attempt to call a nil value (global ‘print‘)的方法,但是我发现都是错误的。因为我试了好几个,然后最后才发现都是错误的。说说我的解决方法吧。抛出异常的代码如下:publicclass LuaDemoScript : MonoBehaviour {public TextAsset textAsset;public CMyClass[] lists;private LuaTable runTable;internalstatic LuaEnv luaEnv = new LuaEnv();publicvoid Awake(){runTable = luaEnv.NewTable();LuaTable...

dgvHelper,xmlHelper,inputbox(仿vba),Evaluate(vba中函数应用于C#)【代码】

1.在dgv中进行增加、删除、修改行时应针对dt进行操作,然后刷新xml2.datagridview中的currentrow未必就是当前选中行3.inputbox类string sDescription = InputBox.ShowInputBox("请输入表达式的说明!");publicclass InputBox : System.Windows.Forms.Form{private System.Windows.Forms.Label label1;private System.Windows.Forms.TextBox tbData;private System.Windows.Forms.Button btnOK;private System.Windows.Forms.Button...

cocos2dx+lua注册事件函数详解 事件【图】

coocs2dx 版本 3.1.1registerScriptTouchHandler 注册触屏事件registerScriptTapHandler 注册点击事件registerScriptHandler 注册基本事件 包括 触屏 层的进入 退出 事件registerScriptKeypadHandler 注册键盘事件registerScriptAccelerateHandler 注册加速事件 registerScriptTouchHandler 详解(可以设置单点或多点) function gameWindow:addLayerTouchEv...

Lua教程(二十):Lua调用C函数

Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性。对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数。对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L)。简单说明一下,该函数类型仅仅包含一个表示Lua环境的指针作为其唯一的参数,实现者可以通过该指针进一步获取Lua代码中实际传入的...

cocos lua绑定感悟---tolua_isusertable及lua如何访问cocos静态函数的方法【代码】

现在还是个新手,对很多还不是很了解,所以语言估计会有点晦涩,望原谅啊!!<pre name="code" class="html">TOLUA_API int tolua_isusertable (lua_State* L, int lo, const char* type, int def, tolua_Error* err) {if (def && lua_gettop(L)<abs(lo))return 1;if (lua_isusertable(L,lo,type))return 1;err->index = lo;err->array = 0;err->type = type;return 0; }static int lua_isusertable (lua_State* L, int lo, const...

Lua函数之一【代码】

函数声明:function foo(arguments)statementsend 1、函数调用 调用函数的时候,如果参数列表为空,必须使用()表明是函数调用,例如:os.date() 当函数只有一个参数并且这个参数是字符串或者table构造器的时候,可以省略函数调用操作符"()",例如:print "Hello World"dofile "a.lua"f{x=10,y=20} 面向对象方式调用函数的语法,例如:obj::foo(x) obj.foo(obj, x) 实参和形参结合时,多余部分被忽略,不足补充nil,例如:functi...

Lua程序设计之深入函数

先看一个函数:function derivative(f,delta) delta = delta or1e-4 return function(x) return (f(x+delta)-f(x))/delta endend 对特定的函数f调用derivative(f)将(近似地)返回其导数,例如c=derivative(math.sin)print(math.cos(10),c(10)) --c(10)这样的调用相当于derivative(math.sin)(10)这个例子最让我惊奇的是,10这个参数可以直接通过(10)的方式传进去里面嵌套的函数。1. 闭合函数,closure,就是一个函...