
Lua
菰城茧
这个作者很懒,什么都没留下…
展开
-
Lua string.sub截取UTF8 中英混合字符
在使用Lua的过程中,经常会遇到需要截取字符串或者获得字符串真实长度的情况,而Lua自带的string.sub()对于中文字符会当作3个字符来处理,截取时会造成乱码。所以需要自己改造下,一下方法是我改编的SubString方法,经测试可以识别中英混合的字符串,不管是英文字符还是中文字符都当作一个字符来计算index,并且可以像系统的string.sub()一样使用负数来从末尾截取字符。原创 2016-08-17 17:13:45 · 10467 阅读 · 6 评论 -
Lua系统函数
math: sin.asin.deg… 随机数:math.random()无参数时生成[0,1)的随机数,整数参数的话生成[1,参数]的整数随机数;math.randomseed(seed) 使用种子生成随机数table: t = {10, 20, 30} table.insert(t, 1, 15) t 就变成了{15, 10, 20, 30} 如果没有第二个参数,就自动添加到tabl原创 2016-05-06 15:14:34 · 734 阅读 · 0 评论 -
Lua面向对象
lua没有class的概念,但是可以直接继承其他对象 单继承: base = { a = 1 , funca = function() return " base " end} function base:new(o) local o = o or {} setmetatable(o, self) self.__index原创 2016-04-29 17:12:15 · 376 阅读 · 0 评论 -
Lua模块处理
简单的模块编写: complex = {} --这种是公共方法 function complex.new() ... end --这种是私有方法 local function inv() ... end return complex这就是一个完整的模块了,如果在其他地方使用这个模块可以用如下代码调用:原创 2016-04-29 17:06:16 · 484 阅读 · 0 评论 -
Lua垃圾回收和弱引用
lua有自动的内存管理机制,只需要创建对象,无需删除,当没有该对象的引用的时候(引用未nil),lua就会释放内存,但是有的时候会保存一些不必要的引用,为了让这种引用不影响垃圾回收,可以设置成弱引用。 强制垃圾回收的方法: collectgarbage() 将table设置成弱引用: setmetatable(table, {__mode = “kv”}) 这里就是将key和va原创 2016-04-29 17:04:16 · 1607 阅读 · 0 评论 -
Lua学习小记
lua中的各项小知识点原创 2016-04-22 17:40:23 · 448 阅读 · 0 评论 -
SublimeText 配置lua开发环境
由于现在开发的unity项目要用ulua做热更新,所以现在大部分的逻辑都需要用lua来写。 之前用惯了在vs中写C#,现在写起lua来觉得怎么着都不顺手,因为没有代码提示,没有跳转定义,没有语法错误提示,总之就是什么都没有,再加上lua是解释型语言,变量都没有类型,所以完全不知道自己写下去的是对是错,只有编译了启动游戏才能知道错在哪一行,实在是蛋疼。 所以我就想办法优化下lua的开发环境,选了半原创 2016-04-15 12:30:24 · 1581 阅读 · 0 评论