转载:lua中switch
刚开始使用lua的人肯定会不满lua居然没有switch这个语法。
但是熟悉lua的强大特性之后,你会发现其实switch是完全没有必要提供的^.^,因为lua有强大的table和function
例子:
- local key = 1
- local switch = {
- [1] = function()
- print("switch:"..1)
- end,
- [2] = function()
- print("switch:"..2)
- end,
- ["test"] = function()
- print("switch:test")
- end,
- }
- local fSwitch = switch[key] --switch func
- if fSwitch then --key exists
- local result = fSwitch() --do func
- else --key not found
- end


模版如下:
- local switch = {
- [case1] = function()
- --case 1
- end,
- [case2] = function()
- --case 2
- end,
- }
- local fSwitch = switch[key] --switch func
- if fSwitch then --key exists
- local result = fSwitch() --do func
- else --key not found
- end


为sublime增加switch自动补全
方法:
1、菜单-Preferences-Tools-New Snippet ,sublime自动新建一个文件
2、把代码全部复制进去,然后保存,文件名填 switch.sublime-snippet
- <snippet>
- <content><![CDATA[local switch = {
- [${1:case1}] = function()
- ${2:--case 1}
- end,
- [${3:case2}] = function()
- ${4:--case 2}
- end,
- }
- local fSwitch = switch[${5:key}] --switch func
- if fSwitch then --key exists
- local result = fSwitch() --do func
- else --key not found
- end
- ]]></content>
- <tabTrigger>switch</tabTrigger>
- <scope>source.lua</scope>
- <description>switch-case</description>
- </snippet>


方法二:
1、新建文本文档,把复制代码进去,然后保存,文件名写switch.sublime-snippet
2、sublime菜单-Preferences-Browse Packages打开文件夹
3、把刚才保存的switch.sublime-snippet文件放入User目录里面
这样就可以在sublime里面使用了
效果如下
from: http://blog.csdn.NET/a82239946/article/details/42490405
转载:lua中switch的更多相关文章
- Lua中的常用语句结构以及函数
		1.Lua中的常用语句结构介绍 --if 语句结构,如下实例: gTable = {} ] ] then ]) == gTable[] then ]) else print("unkown ... 
- 【转载】lua中的require机制
		[转载自]http://blog.chinaunix.net/uid-552961-id-2736410.html lua中的require机制 为了方便代码管理,通常会把lua代码分成不同的模块,然 ... 
- 【转载】【游戏开发】在Lua中实现面向对象特性——模拟类、继承、多态
		[游戏开发]在Lua中实现面向对象特性——模拟类.继承.多态 阅读目录 一.简介 二.前提知识 三.Lua中实现类.继承.多态 四.总结 回到顶部 一.简介 Lua是一门非常强大.非常灵活的脚本语 ... 
- 【转载】Lua中实现类的原理
		原文地址 http://wuzhiwei.net/lua_make_class/ 不错,将metatable讲的很透彻,我终于懂了. --------------------------------- ... 
- Lua 中的string库(字符串函数库)总结
		(字符串函数库)总结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-11-20我要评论 这篇文章主要介绍了Lua中的string库(字符串函数库)总结,本文讲解了string库 ... 
- [lua] mac上如何编译snapshot(检测Lua中的内存泄露)
		最近我们的unity手游频繁闪退,只要进入战斗场景,之后一段时间就会闪退,如果是在unity编辑器中则会报出not enough memory的错误!猜测应该是有内存泄漏: 由于我们使用了tolua, ... 
- lua中 table 元表中元方法的重构实现
		转载请标明出处http://www.cnblogs.com/zblade/ lua作为游戏的热更新首选的脚本,其优势不再过多的赘述.今天,我主要写一下如何重写lua中的元方法,通过自己的重写来实现对l ... 
- C#中switch的使用
		今天在网上看到有人给出这么一个程序需求,博主就拿来回忆回忆C#中switch的用法 程序需求如下: 根据星期几(一 ~日) ,输出特价菜“一”.“二”.“三”,输出“干煸扁豆6元.”“四”.“五”,输 ... 
- 【Unity游戏开发】Lua中的os.date和os.time函数
		一.简介 最近马三在工作中经常使用到了lua 中的 os.date( ) 和 os.time( )函数,不过使用的时候都是不得其解,一般都是看项目里面怎么用,然后我就模仿写一下.今天正好稍微有点空闲时 ... 
随机推荐
- c# 处理空白字符,空白字符是指在屏幕不会显示出来的字符
			空白字符是指在屏幕不会显示出来的字符(如空格,制表符tab,回车换行等).空格.制表符.换行符.回车.换页垂直制表符和换行符称为 "空白字符",因为它们为与间距单词和行在打印的页 ... 
- LINQ 按多个字段排序(orderby、thenby、Take)
			LINQ 按多个字段排序(orderby.thenby.Take) orderby 子句解析为 OrderBy()方法,orderby descending 子句解析为OrderBy Descend ... 
- 使用VLC和live555MediaServer搭建RTSP服务器
			一.使用VLC搭建 服务端 1.打开"媒体--流"选项,如图所示: 2.点击"添加"按钮选择流媒体文件,然后点击"串流"按钮 3.点击& ... 
- eclipse中的System.getProperty("user.dir")
			eclipse中的System.getProperty("user.dir") 1.在Java Application中,上述中的获取的是Java项目的路径 (1)运行源码 /** ... 
- freemarker.template.TemplateException:Error executing macro:mainSelect
			1.错误描述 freemarker.template.TemplateException:Error executing macro:mainSelect require parameter:id i ... 
- ontimer 与多线程
			一般来说,在MFC中开启一个UI线程可以用以下代码: m_pCameraThread = AfxBeginThread(RUNTIME_CLASS(CCameraThread)); if (!m_pC ... 
- CentOS7安装dnf报错:No package dnf available
			1.百度中提供的安装办法 yum install epel-release -y yum install dnf 2. No package dnf available解决办法 运行一下几个命令: w ... 
- GitHub图形界面使用笔记
			GitHub图形界面使用笔记 学会了最简单的在GitHub上上传项目和展示项目,怕自己会忘记所以还是先记录下了来. GitHub 是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容 ... 
- 基于puppet分布式集群管理公有云多租户的架构浅谈
			基于puppet分布式集群管理公有云多租户的架构浅谈 一.架构介绍 在此架构中,每个租户的业务集群部署一台puppet-master作为自己所在业务集群的puppet的主服务器,在每个业务集群所拥 ... 
- 【BZOJ2342】双倍回文(回文树)
			[BZOJ2342]双倍回文(回文树) 题面 BZOJ 题解 构建出回文树之后 在\(fail\)树上进行\(dp\) 如果一个点代表的回文串长度为\(4\)的倍数 并且存在长度为它的一半的回文后缀 ... 
