wp103654566 发表于 2020-10-3 15:33

一个小白求助最基本的if else if end语法。脑子搞昏了。

if 条件1 then 执行1
else if 条件2 then 执行2
else if 条件3 then 执行3
end
LUA 语法。一个要求,条件2成立执行2后,必须接判断条件3。
现在脑子已经混了,前来求救。。

6f7a8d 发表于 2020-10-3 15:36

本帖最后由 6f7a8d 于 2020-10-3 15:41 编辑

把判断条件3放到原来执行2的后面,作为第二个if语句的一部分就行了:
if 条件1 then 执行1
else if 条件2 then 执行2(if 条件3 then 执行3 end)
end

wp103654566 发表于 2020-10-3 15:43

6f7a8d 发表于 2020-10-3 15:36
把判断条件3放到原来执行2的后面,作为第二个if语句的一部分就行了:
if 条件1 then 执行1
else if 条件2 ...

我也是这么想的,不过能不用括号吗? 用elseif 或者elseif,该怎么改。

6f7a8d 发表于 2020-10-3 15:47

wp103654566 发表于 2020-10-3 15:43
我也是这么想的,不过能不用括号吗? 用elseif 或者elseif,该怎么改。
括号可以去掉,但不能用else if。else if 是在上一个判断语句不成立的情况下再接着执行本语句,而你要求的是第二个if语句成功执行后再继续执行判断条件3,这必须在条件2成立的情况下才行,这与else if的要求是矛盾的,所以不能用。

wp103654566 发表于 2020-10-3 15:49

6f7a8d 发表于 2020-10-3 15:47
括号可以去掉,但不能用else if。else if 是在上一个判断语句不成立的情况下再接着执行本语句,而你要求 ...

if 条件1 then 执行1
else if 条件2 then 执行2
            if 条件3 then 执行3
                        end
end
end
这个不行吗?

南岸 发表于 2020-10-3 15:53

在循环二中套一个循环三

6f7a8d 发表于 2020-10-3 15:55

wp103654566 发表于 2020-10-3 15:49
if 条件1 then 执行1
else if 条件2 then 执行2
            if 条件3 then 执行3


这个不是和上面的一样吗?这个就是嵌套的if语句,在else if语句里又加了一个if语句,作为执行2里面的一部分。

wp103654566 发表于 2020-10-3 15:56

6f7a8d 发表于 2020-10-3 15:55
这个不是和上面的一样吗?这个就是嵌套的if语句,在else if语句里又加了一个if语句,作为执行2里面的一部 ...

嗯,但是条件1成立 条件2不成立 条件3成立 又没了。。。

6f7a8d 发表于 2020-10-3 16:03

wp103654566 发表于 2020-10-3 15:56
嗯,但是条件1成立 条件2不成立 条件3成立 又没了。。。

if以及else if语句是互斥的吧,只要条件1成立的话,后面elseif 的条件2、条件3都不会被执行的。
而作为在条件2里嵌套的条件3,只要条件2不成立,那么即便条件3成立也是不会被执行的。

wp103654566 发表于 2020-10-3 16:06

6f7a8d 发表于 2020-10-3 16:03
if以及else if语句是互斥的吧,只要条件1成立的话,后面elseif 的条件2、条件3都不会被执行的。
而作为 ...

哦 我说错了,条件1不成立,条件2不成立,条件3成立 ,执行3
页: [1] 2
查看完整版本: 一个小白求助最基本的if else if end语法。脑子搞昏了。