一直对 Lua 没有 switch 语句耿耿于怀,每次检查代码时都不得不在令人眼花潦乱的 if then elseif 语句中检查配对关系,身心俱疲,视力受损。
直到今天早晨突然想到可以用 repeat until 语句模拟,试验了一下,效果还不错,代码结构顿时清晰了许多。
而且,Lua 中的变量没有预定义的类型这一特性,使得这种写法比起 C 语言的 switch 语句更加灵活和强大。
table ={item="item"}
function func()
print("hello world!")
end
function l_switch(str)
repeat
if str == true then
print(str)
break
end
if str == "abc" then
print(str)
break
end
if str == 123 then
print(str)
break
end
if str == func then
func()
break
end
if str == table then
print(str.item)
break
end
--default:
print(str)
until true
end
l_switch(true)
l_switch("abc")
l_switch(123)
l_switch(func)
l_switch(table)
l_switch(abc)
代码输出结果:
引用
true
abc
123
hello world!
item
nil
分享到:
相关推荐
5. **API 方法**:Bootstrap Switch 还提供了 API 方法来控制开关状态,如 `bootstrapSwitch('state')` 获取状态,`bootstrapSwitch('toggleState')` 切换状态,`bootstrapSwitch('setState', bool)` 设置状态等。...
SwitchHosts是一款强大的主机切换工具,它主要用于管理和切换不同的hosts文件。在IT行业中,hosts文件是一个文本文件,其中包含了IP地址和域名的映射关系,系统会优先查找hosts文件中的映射,从而实现对网络访问的...
《Switch线刷工具包详解与应用》 Switch作为一款备受欢迎的游戏主机,其自定义固件和刷机操作为玩家提供了更多个性化体验的可能性。本文将详细介绍"switch线刷工具包.zip"中的各项工具及其用途,帮助用户理解并安全...
官方文档中对switch组件的change事件作了基本的描述,但是在多个switch组件共用同一个change回调函数时,无法直接获取到触发事件的switch组件实例,这会带来一定的困扰。官方文档中也明确指出,回调函数的参数是新...
在Switch游戏机上安装pplay 3.5媒体播放器是一项让玩家可以在设备上享受多媒体体验的任务。pplay是一款开源的、专为Switch设计的影音播放软件,版本3.5提供了更加稳定和丰富的功能,使得用户能够在Switch上观看视频...
SwitchHosts是一款强大的本地Hosts切换工具,专为Mac用户设计。它简化了对Hosts文件的操作,使得在不同Hosts配置之间切换变得极其简单,极大地提升了开发人员、测试人员或者网络管理员的工作效率。 首先,让我们...
将Switch嵌套在ListView中,可以实现用户通过点击列表条目来切换Switch的状态,从而提供更丰富的交互体验。以下是关于这个主题的详细知识点: 1. **ListView的使用**: - ListView是Android中的一个视图容器,主要...
switch语句的普通用法很简单,如下: var a = 3; switch (a) { case 1: console.log(a); break; case 2: case 3: console.log(a); break; default: break; } 这里a和case列表中从上而下逐一做比较,如果...
本文将详细讲解如何在Eclipse环境下实现一个仿iOS的Switch控件,并添加动画效果。 首先,iOS中的Switch控件是一种开关按钮,通常用于二选一的选择,如开启或关闭某项功能。在Android中,对应的控件是CheckBox或...
C语言switch语句学习教案 switch 语句是 C 语言中处理多路选择问题的一种更直观和有效的手段。在实际应用中,要在多种情况中选择一种情况,执行某一部分语句。当然可以使用嵌套的 if , if else 语句来处理,但其...
在这个名为"dataSourceSwitch_DataSourceSwitch_solar8t4_springbootmysql_DataS"的项目中,我们看到一个实际应用于生产环境的数据源切换解决方案,它基于MySQL数据库和Spring Boot框架。 首先,让我们深入了解...
【NS金手指合集大全 5127个金手指 Nintendo switch 支持 SXOS AMS 大气层 2024-4-4】 在本文中,我们将深入探讨NS金手指合集的重要性和如何利用这些工具提升Nintendo Switch游戏体验。金手指,也被称为作弊码或秘籍...
"switch所有的amiibo数据收录大全"这个标题揭示了该压缩包文件的主要内容,即关于Switch游戏平台所有amiibo(Amiibo是任天堂推出的一种实体玩具,可以与Switch、Wii U、3DS等游戏机互动)的数据集合。这包括了amiibo...
标题中的"SwitchHosts for Linux"指的是一个专为Linux操作系统设计的应用程序,它主要用于管理和切换不同的hosts配置。在计算机网络中,hosts文件是一个文本文件,它包含主机名到IP地址的映射,用来帮助系统快速解析...
rc-switch库是专门为这些433M无线模块设计的一个软件库,它使得Arduino用户可以方便地发送和接收无线信号。 **rc-switch库简介** rc-switch库是一个开源的Arduino库,由Rene Hass开发,主要用于控制433MHz和315MHz...
标题中的"switch电脑驱动.rar"指的是为Nintendo Switch游戏主机准备的电脑驱动程序,这些驱动程序允许用户在个人电脑上与Switch设备进行交互,比如通过USB线连接进行数据传输、系统更新或者利用某些软件来实现模拟...
在任天堂Switch游戏主机的系统中,BOOT0和BOOT1是至关重要的固件部分,它们在启动过程中扮演着核心角色。这些文件对于理解和修改Switch的系统行为至关重要,尤其是在进行自定义或破解操作时。以下是对这些概念的详细...
本教学案例分析PPT学习教案的主要目的是帮助中职计算机专业学生学习C语言switch语句的格式、执行过程和应用,达到掌握switch语句的格式、理解switch语句的执行过程、掌握阅读、调试switch程序的能力、掌握switch语句...
在Android开发中,Switch控件是一种常用的开关组件,它提供了开和关两种状态,通常用于用户界面中的布尔选择。在Android SDK中,Switch是android.widget.CompoundButton的一个子类,继承了ToggleButton的功能,提供...