为什么“else”条件语句不允许?

为什么“else”语句不允许使用then或其他条件语句? 是因为在else-if条件语句中它代表的是最终条件吗?

作为一个初学者,我很难理解这个概念。

我问这个问题是因为我在代码中遇到了一个else语句的错误:

message = 0
condition = 30

if condition <=10
message = “try harder”

elseif
condition <=20 then
message = "Almost learning"

else
condition = <=30 **这是我收到错误消息的那一行**
message = "Now you’re getting it"

end
print(message)

希望有人能用通俗易懂的语言解释一下,为什么“else”不允许使用<>或其他条件语句。

点赞
用户14860
用户14860

Markdown格式不变:

else condition = <= 30

在一门语言中,这是非常不寻常的特征。

else本身的作用就是在其他条件都不满足时执行。所以对else进行条件判断是绝对没有用的。

Programming in Lua book中的 if 语句 展示了正常的用法:

if op == "+" then
  r = a + b
elseif op == "-" then
  r = a - b
elseif op == "*" then
  r = a*b
elseif op == "/" then
  r = a/b
else
  error("invalid operation")
end

然而,当你的代码(格式正确)是这样时:

else
condition = <=30

这在else方面是正确的,但是不幸的是,下一行是一个语句。这个语句的句法是非常错误的。

现在有可能你是想把30赋给condition,但是根据你的其他行(与此相匹配的条件),我怀疑并不是这样。所以最好完全删除那行。

2020-03-31 12:55:41