lua中利用table表模拟switch

因为lua中没有switch,有滴童鞋可能觉得太多if elseif 看着难受,不过其实我们可以利用table去模拟switch的功能.

首先定义一个表
switch={}
然后定义各个分支
switch[1]=function()...end
switch[a]=function()...end
... ...
然后调用
switch[var]()
记得后面的()不要忘记哦!\(^o^)/~


我们这里举个简单例子,把月份转换成汉字形式
switch={}
switch[1]=function() return '一月' end
switch[2]=function() return '二月' end
switch[3]=function() return '三月' end
switch[4]=function() return '四月' end
switch[5]=function() return '五月' end
switch[6]=function() return '六月' end
switch[7]=function() return '七月' end
switch[8]=function() return '八月' end
switch[9]=function() return '九月' end
switch[10]=function() return '十月' end
switch[11]=function() return '十一月' end
switch[12]=function() return '十二月' end
print(switch[1]())


———得到的输出结果:
 一月

参考资料:
http://bbs.uc.cn/thread-1988354-1-1.html
http://zuoge85.iteye.com/blog/827460

你可能感兴趣的:(cocos2dx,3.x(lua),lua,模拟switch)