admin管理员组文章数量:1794759
lua
lua中是没有Switch语法的,所以很多时候要条件判断的时候只有一条又一条的if 和elseif 去写。当条件比较多且条件里面的内容比较多的时候,会显得比较乱,而且不利于我们后期去维护。但是lua的table类型其实相当强大,我们可以利用表结构和匿名函数,我们就可以实现Switch功能。
下面,归纳了3种常用的写法(其实原理一样):
第一种:
local tab = {[1] = function()print("aaa")end,[2] = function()print("bbb")end,[3] = function()print("ccc")end,
}function doFunc(cur_index)if tab[cur_index] thentab[cur_index]()end
end
第二种:
local tab = {[1] = "aaa",[2] = "bbb",[3] = "ccc",
}function doFunc(cur_index)if tab[cur_index] then_G[tab[cur_index]]()end
endfunction aaa()print("aaa")
endfunction bbb()print("bbb")
endfunction ccc()print("ccc")
end
第三种:
local Mgr = {}
switchMgr = MgrMgr.tab = {[1] = "aaa",[2] = "bbb",[3] = "ccc",
}Mgr.doFunc = function(cur_index)if Mgr.tab[cur_index] thenMgr.tab[cur_index]()end
end
其他lua类调用的时候,可以
require("./switchMgr ") ;
switchMgr.doFunc(1)
本文标签: lua
版权声明:本文标题:lua 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1692715286a174324.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论