lua
文章平均质量分 79
mentalidade
这个作者很懒,什么都没留下…
展开
-
lua学习--特殊字符
local a = {"a","b","c","d","e","f"}-- local b = table.concat(a,"@")-- print(b)table.insert(a,"w") 不能赋值给一个表,返回值for k,v in ipairs(a) doprint(k,v)end特殊字符:在模式匹配中有一些特殊字符,他们有特殊的意义,原创 2015-06-25 15:47:19 · 10240 阅读 · 0 评论 -
关于lua的#
以前一直觉得#能判断数组型的table和字符串的长度,我以为数字的长度也可以判断,遇到了错误。local a = {}local b = {"a","b"}local c = ""local d = "abc"print(#a)print(#b)print(#c)print(#d)0203[Finished in 0.2s]结果可以发现空table和数组型table,字符串原创 2016-04-17 15:08:39 · 846 阅读 · 0 评论 -
lua string库模式匹配
print(string.find("12ab","%a%a"))print(string.find("12ab","(%a%a)"))print(string.find("12ab","[1-3]([1-3])(%a%a)"))结果:3 4 -- 简单的模式匹配3 4 ab -- 用[]创建字符集,"-"为连字符,"^"表示字符集的补集1 4 2 ab --原创 2016-03-28 15:17:25 · 506 阅读 · 0 评论 -
lua常见的报错
lua本身很宽松,很少报错。经常出错的也就是那个表了,把自己遇到的常见的错误记下来。local a = {b=1,c=2}local a.d = 3for k,v in pairs(a) do print(k,v)end unexpected symbol near '.'已经定义的table赋予新的,不能重复家local了。local a = {b=1,c=2,{e=4}}原创 2016-04-26 01:53:28 · 2980 阅读 · 0 评论 -
lua遇到的错误
table插入一个local t = {a=1, b=2, c=3}-- table.insert(t,"d=4") --相当于插入一个字符串,并不是hashlocal m = {} --直接赋值m.d报错,需要先声明m为一个tablem.d=4t["d"] = 5 --t.d和t["d"]一个意思,但是前面不能加local,否则报错print(t.d)print(m.d)---原创 2015-11-22 00:34:57 · 737 阅读 · 0 评论 -
lua高级
生产者-消费者function producer() return coroutine.create( function (salt) local t = { 1, 2, 3 } for i = 1, #t do salt = coroutine.yield(t[i] + salt) en原创 2015-11-25 01:42:33 · 496 阅读 · 0 评论 -
保存的文章
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:阿猫链接:https://www.zhihu.com/question/20511233/answer/24260355来源:知乎一开始大家想要同一时间执行那么三五个程序,大家能一块跑一跑。特别是UI什么的,别一上计算量比较大的玩意就跟死机一样。于是就有了并发,从程序员的角度可以看成是多个独立的逻转载 2015-12-17 11:05:20 · 523 阅读 · 0 评论 -
两种方式截取字符串
使用string.gmatchlocal plan_id = "1,2,3,4,55,66"local match = string.gmatch( plan_id,"%d+" )local plan_ids = {}for v in match do table.insert(plan_ids,v)endprint(#plan_ids)print(plan_ids[2])6 2使用st原创 2015-08-29 18:44:36 · 624 阅读 · 0 评论 -
api
api函数get_db_node(tables,b_id,is_read)input:tables, b_id,is_read output:string explain:传入id的值,如果是单表就返回一个字符串的表名,如果是多表,则对id对10取余,返回10张表的其中一个。 eg: db_node_name = get_db_node(config.db_business_range,b原创 2015-08-13 22:36:16 · 408 阅读 · 0 评论 -
lua学习--记录(2)
1.lua函数可以返回多个返回值,在return后要返回的值得列表即可返回多值2.lua总是调整函数返回值的个数去适应调用环境,当作为一个语句调用函数时,所有返回值被忽略3当作为表达式调用函数,有以下几种情况:a.当调用作为表达式的最后一个参数或者仅有一个参数时,根据变量的个数函数尽可能多的返回多个值,不足的补nil,超出舍去b.其他情况,函数调用仅仅返回第一个值4.函数调用作原创 2015-06-29 09:58:52 · 350 阅读 · 0 评论 -
lua学习--记录
function fact(n)if n == 0 thenreturn 1elsereturn (n * fact(n-1))endendprint("enter a number:")a = io.read("*number")print(fact(a))在终端中不要进入lua命令模式,直接敲lua D:\lua、hello.lua,即可运行转载 2015-06-26 10:02:55 · 365 阅读 · 0 评论 -
lua学习--冒泡排序和保存奇数
--1到100的奇数存入文件--[[local file = io.open("a.txt","a")assert(file)for i = 1,100,1 doif i%2 ~= 0 thenfile:write(i)file:write(",")endend]]--table排序--[[local bubble = {1,8,4,7,原创 2015-06-25 09:56:48 · 1058 阅读 · 0 评论 -
lua一些容易注意点
local和面向对象local x = {a=1}x.b = 2 -- 不能加local,否则错误:unexpected symbol near '.'print(x.b)local bird = {canfly = true}function bird:new() -- 不能加local,理由同上面,作用域在bird local b = {} setmetatab原创 2016-01-29 11:00:19 · 784 阅读 · 0 评论