随笔分类 - lua
摘要:-- 将数值分解成bytes_tablelocal function decompose_byte(data) if not data then return data end local tb = {} if data == 0 then tab...
阅读全文
摘要:1. 单行注释 -- 功能等同于C++中的//2. 多行注释 --[[ 注释的内容 ]] 功能等同于C++中的 /**/3. 多行注释 --[====[ 注释和内容 ]====], 也等同于C++中的/**/, 这个主要用于注释的内容里面有像arr[arr2[idx]] 这种文本, 如果使用...
阅读全文
摘要:参考文档:http://blog.csdn.net/xiaodan007/article/details/7096718function sz_T2S(_t) local szRet = "{" function doT2S(_i, _v) if "number" == t...
阅读全文
摘要:function myfunction(msg) print("this is msg fun " .. msg);endlocal fun =_G["myfunction"];if fun then fun("is ok");end
阅读全文
摘要:使用math.modf(x/y),此函数,第一参数返回整数部分,第二个参数返回小数部分
阅读全文
摘要:在lua中没有发现字符串分割的函数,自己写了一个,记录在此,以备使用.--------------------------------------------------------- 参数:待分割的字符串,分割字符-- 返回:子串表.(含有空串)function lua_string_split(str, split_char) local sub_str_tab = {}; while (true) do local pos = string.find(str, split_char); if (not pos) then su...
阅读全文
摘要:问题源于设置一个窗口的userString,即,winmgr:getWindow("winName"):setUserString("AnotherName", "根窗口");然后使用getUserString("AnotherName")来获取这个值的时候,显示的就是乱码.CEGUI内部使用utf32编码,可以使用String.data() & String.c_str()来获取对应的utf-8编码string pointer;使用String.ptr()获取的是utf32编码string pointer
阅读全文
摘要:CEGUI使用的是UTF-8编码lua 使用的是ascii 编码UTF-8编码是以一个字节为"基本单元",在表示7位ASCII字符表中的字符时,这个字符在UFT-8的格式中占一个字节,即,一个"基本单元",而在表示汉字的时候,UTF-8格式要使用3个字节来表示一个汉字。UTF-16,UTF-32 类似,分别以16位和32位为一个"基本单元"Unicode编码,不管什么字符,都是使用2个字节来表示在lua中输入下面这样一个字符串:"hi你好",这个字符串用lua的string.len(str)测量出来的长度是:6,即
阅读全文
摘要:--~ C++ 值与引用 小引--~ 思考 1--~ int v = 1;--~ int &v1 = v;--~ v = 2;--~ v1 == ?--~ 思考 2--~ int v = 1;--~ int v1 = v;--~ v = 2;--~ v1 == ?local tab = {"a","b"}local tab2 = tab;print(tab2[1]);tab[1] = "x";print(tab2[1]);tab2[1] = "XX";print(tab[1]);-- 上面表示,tab 传的
阅读全文
摘要:所谓反射,我的理解就是,给一个函数名称的字符串,然后就可以通过这个字符串来调用这个名称的函数了,比如void test() {...}string funstr = "test()"使用反射机制,然后就可以通过funstr来调用test()这个函数了如果仅是这样,Lua中也可以做到,demo代码如下:function test() print("this is lua test function.");endlocal f = loadstring("test()");f(); -- 此处将调用test()函数亮点就是loadstri
阅读全文
摘要:Lua和C程序通过一个堆栈交换数据: struct lua_State 堆栈的序号可以从栈顶和栈底计数,从栈底计数,则栈底是1,向栈顶方向递增。从栈顶计数,则栈顶是-1,向栈底方向递减。一般都用从栈顶计数的方式。堆栈的默认大小是20,可以用lua_checkstack修改.用lua_gettop则可以获得栈里的元素数目。并不是说在栈顶有一个整形元素。而是计算了一下栈顶元素在栈里的正index,相当于元素数目。 Lua 调用C函数用的堆栈是临时的,调用结束之后就被销毁了。 如何从堆栈中获取从Lua脚本中的参数 如果知道Lua脚本中某个全局变量的名字,可以用void lua_getglobal (
阅读全文
摘要:os.time() <== 返回当前系统的日历时间os.date() <== 返回本地化的时间字符串,这里是"11/28/08 17:23:37"os.date("%x", os.time()) <== 返回自定义格式化时间字符串(完整的格式化参数),这里是"11/28/08"os.clock() <== 返回执行该程序CPU花去的时钟秒数,这里是1156.726附录完整的格式化参数这些时间输出的字符串表示是经过本地化的。所以如果是在巴西(葡萄牙语系),"%B" 得到的就是 "se
阅读全文
摘要:1.从lua官网下载最新版本的lua压缩包。lua官网:http://www.lua.org/download.html2.将lua包解压到一个目录下面(我解压到C:\Program Files\下面)3.打开VS的命令行工具,进入到lua-5.1.4目录下面(我下载的是lua-5.1.4版本)4.输入命令:etc\luavs.bat,即在lua-5.1.4目录下面运行luavs.bat文件,注意:不要在etc目录下面运行luavs.bat文件(打开luavs.bat文件看一下就知道为什么了,它自己进入了etc目录)5.生成了lua.exe、luac.exe(luac.exe是l
阅读全文
浙公网安备 33010602011771号