Lua 语法实用技巧讲解

今天来讲一讲在日常开发lua中使用到的一些使用技巧。

本章会用c#来和lua对照着来讲。

首先第一个是C#的switch。在lua当中并没有switch,但是在lua当中我们可以使用table来实现。比如说C#代码是这样的:

switch (n)
        {
            case 1: //do something
                break;
            case 2:  //do something
                break;
        }

那么在lua当中我们就可以这么实现:

local switch = {
    [1] = function ()
        --do something,
    end,
    [2] = function ()
        --do something,
    end,
}
​
​switch(n)

那么还有一个很好用的东西呢就是条件运算符。

举个例子,在c#当中 a = a>0 ? b : c

这句代码的意思是当a > 0 则返回b,否则返回c

那么在lua当中就应该这么写 a = a > 0 and b or c

是相同的结果lua当中的and 和 or 相当于 C#当中的&& 和 ||

在很多人的印象当中,a && b 就是当ab都为真的时候返回true,而其中一个为假的时候则返回false。但是我们可以换一种思维方式,当a为真的时候返回a本身,当a为假时返回b。

两者都为真的时候才返回true,那么当a为真的时候,结果是不是取决于b?而当a为假的时候,那么结果就是a,所以lua当中的and就是这个意思,并且他不止可以作用于bool类型,还可以作用于其他类型,反过来a||b也一样,当a为真时,结果就是a,当a为假时,结果就是b。想告诉大家的就是结果并不是固定的去返回一个bool值,而是返回他们两者当中的其中一个值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值