热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

lua中实现switch以及sublime下自动补全switch语法

刚开始使用lua的人肯定会不满lua居然没有switch这个语法。但是熟悉lua的强大特性之后,你会发现其实switch是完全没有必要提供的^.^,因为

刚开始使用lua的人肯定会不满lua居然没有switch这个语法。


但是熟悉lua的强大特性之后,你会发现其实switch是完全没有必要提供的^.^,因为lua有强大的table和function


例子:

[plain] view plaincopy
  1. local key = 1  
  2. local switch = {  
  3.     [1] = function()  
  4.         print("switch:"..1)  
  5.     end,  
  6.     [2] = function()  
  7.         print("switch:"..2)  
  8.     end,  
  9.     ["test"] = function()  
  10.         print("switch:test")  
  11.     end,  
  12. }  
  13.   
  14. local fSwitch = switch[key] --switch func  
  15.   
  16. if fSwitch then --key exists  
  17.     local result = fSwitch() --do func  
  18. else --key not found  
  19.   
  20. end  





模版如下:

[plain] view plaincopy
  1. local switch = {  
  2.     [case1] = function()  
  3.         --case 1  
  4.     end,  
  5.     [case2] = function()  
  6.         --case 2  
  7.     end,  
  8. }  
  9.   
  10. local fSwitch = switch[key] --switch func  
  11.   
  12. if fSwitch then --key exists  
  13.     local result = fSwitch() --do func  
  14. else --key not found  
  15.   
  16. end  


为sublime增加switch自动补全

方法:

1、菜单-Preferences-Tools-New Snippet ,sublime自动新建一个文件

2、把代码全部复制进去,然后保存,文件名填 switch.sublime-snippet

[plain] view plaincopy
  1.   
  2.     
  3.     [${1:case1}] = function()  
  4.         ${2:--case 1}  
  5.     end,  
  6.     [${3:case2}] = function()  
  7.         ${4:--case 2}  
  8.     end,  
  9. }  
  10.   
  11. local fSwitch = switch[${5:key}] --switch func  
  12.   
  13. if fSwitch then --key exists  
  14.     local result = fSwitch() --do func  
  15. else --key not found  
  16.   
  17. end  
  18. ]]>  
  19.     switch  
  20.     source.lua  
  21.     switch-case  
  22.   





方法二:

1、新建文本文档,把进去,然后保存,文件名写switch.sublime-snippet

2、sublime菜单-Preferences-Browse Packages打开文件夹

3、把刚才保存的switch.sublime-snippet文件放入User目录里面

这样就可以在sublime里面使用了


效果如下





from: http://blog.csdn.net/a82239946/article/details/42490405


推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文详细介绍了 HTML 中 a 标签的 href 属性的多种用法,包括实现超链接、锚点以及调用 JavaScript 方法。通过具体的示例和解释,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 安装 IIS 5.1 并注册 .NET 2.0 后,访问页面时出现 500 错误。本文提供详细的步骤和解决方案,帮助您解决该问题。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文详细介绍了在 React Native 开发过程中遇到的 'Could not connect to development server' 错误及其解决方法。该问题不仅影响开发效率,而且难以通过网络资源找到确切的解决方案。本文将提供详细的步骤,帮助开发者快速解决这一常见问题。 ... [详细]
  • 本文将详细介绍如何在Mac上安装Jupyter Notebook,并提供一些常见的问题解决方法。通过这些步骤,您将能够顺利地在Mac上运行Jupyter Notebook。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 本文详细探讨了Oracle数据库中Number和Float数据类型的特性和使用方法。通过对比分析,解释了Number类型在精度和范围上的优势,以及Float类型在处理科学计算时的灵活性。文章还介绍了Number数据类型的语法结构及其在实际应用中的最佳实践,帮助读者更好地理解和选择合适的数据类型以满足不同的业务需求。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
author-avatar
宣亨奭
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有