问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

lua 编程技巧1 -- 三目运算符

发布网友 发布时间:2024-10-22 07:38

我来回答

1个回答

热心网友 时间:2024-11-14 05:22

三目运算符的介绍

三目运算符能够简化if-else语句,从而使代码更加简洁。

在java或者c/c++中,上述代码可以用三目运算符简化为:

另外,三目运算符可以嵌套使用,例如限定某个数在某个区间[minValue, maxValue]内。

Lua中的“三目运算符”

Lua中没有直接的三目运算符,但可以通过逻辑运算实现if-else逻辑,从而实现三目运算符的效果,使代码更加优美简洁。

条件判断中,boolean值为false和nil为假,除了false和nil外,其他值都为真,包括0也是真。以下是0为真的示例,这里使用了not not操作将0,nil强制转换为boolean类型,类似于C++中的强制转换(bool)。

2.1. and运算符

2.2. or运算符

2.3. and or组合成“三目运算符”

通过以下逻辑运算可以实现类似c/c++/java三目运算符的效果:

求最大值和限定值区间的例子,可以用and-or写成下面的形式。

值得注意的是,表达式2运算的结果可能为nil, false。在使用and-or操作时,不能完全当成三目运算符使用。

如果表达式2返回的是nil或false,最后的结果将会使用表达式3的值,而不是我们想要的表达式2的结果。

因此,在使用过程中需要确保表达式2不返回nil或false。可以根据实际情况避免这种情况的发生,如果返回的结果包含非nil, false的默认值,将默认值放在表达式2可以避免这种情况,同时写出优美简洁的代码。否则建议使用if-else多写几行代码,避免逻辑运算混乱。

引用参考

Lua 在线工具 | 菜鸟工具 (runoob.com)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... lua中 是什么意思? 自考办不报名可以先买书吗? 练字应该先练手吗?具体该怎么做呢? 房子对年轻人来说意味着什么呢? 想学书法请问什么毛笔什么墨好用,都需要准备什么? 一家三口丈夫妻子和儿子.今年年龄和是60岁,四年前的年龄和是50岁。丈 ... 你是我的一片天内容简介 刘某,男性65岁,现退休在家,与妻子和儿子一起生活,请问刘某在家扮演什... 时间就像海绵里的水只要愿挤总还是有的这句话要怎样联系生活实际_百度... 魔兽世界战友招募三倍经验问题 关于魔兽世界国服战友招募! 魔兽世界战友招聘3倍经验问题 买奶茶时可以带上狗狗吗? 想弄个这样的发型:大部分是直的,发尾处两侧向内卷,要不要先直了再卷啊... 2019年1月15日华为荣耀9自动更新后 玩王者荣耀自动闪退 怎么办 已... 柔美的近义词和反义词是什么_柔美是什么意思? 逼真的近义词和反义词是什么_逼真是什么意思? ...是哥特式风格,在一个城堡里,那个城堡是谁的,具体地点在哪?叫什么城... 哥特式名媛小说里出现过的一首英文歌,女生唱的吉他伴奏的 那个披肩发发尾向内卷的是什么发型,这种发型不染黑色的好看么?是不是... 有一个太阳能热水器,在晴天气温为20℃时,每天可以将50kg的水加热到50... ...器每天能使500kg的水温度从20℃升高50℃.求:(1)这些水吸收的热量... ...阳光照射-段时间后,水温从10℃升高到50℃.试求:(1)这段 ...阳光照射一段时间后,水温从10℃升高到50℃.水的比热容是4.2×103J... 狗能喝奶茶吗? 韩剧《半之半》:又文艺又爱情,男主丁海寅是大哲学家后代 韩国代购的衣服 哪家便宜有好看 吉之美开水器的销售服务中心 宝可梦剑盾冰系道馆打法攻略 从上海到乌鲁木齐都可以怎么中转?不要直达~! 如果买的机票是从乌鲁木齐到上海的机票全价机票,想改签成乌鲁木齐到北 ... 有用三个开关控制一盏灯的电路 乌鲁木齐到海宁的车需要倒车吗?在哪倒?几天到站? 从乌鲁木齐到上海的火车经过杭州吗,如果不经过从哪转车近点? 从乌鲁木齐做T54到上海,赶得上同一天动车回福州吗!麻烦提供下火车后方... 什么是判别分析 公主屋屋联盟目前有几家实体加盟? 为什么我的头发地方不同发质也不一样?有的地方粗有的地方细,有的头发卷... 公主屋屋联盟的化妆品怎么样啊? 一根头发粗细不一怎么护理?