[英]Why if-elseif-else statement in Lua is not working in function?
我在lua函数中使用elseif有问题。 我在Windows上使用LuaEdit 2010,如果使用第一个代码,该程序将冻结。 第二个可以工作,但是很难看,如果有更多其他情况,也就无法使用。 我认为它在两种情况下都应该起作用,但不能起作用,我也不知道为什么,请帮助我。 Lua Edit似乎未关闭该功能。 该代码不起作用
function read_this()
char=read_char()
word=""
if char=="~" then word = word..char
char=read_char()
if char == "+" then
formating=true
word=word..char
elseif char == "-" then
formating=false
word = word..char
else word = word..char
end
write(word,file2)
else print("something what is not problem")
end
end
这段代码对我有用。
function read_this()
char=read_char()
word=""
if char=="~" then word = word..char
char=read_char()
if char == "+" or char == "-" then
if char == "+" then formating=true end
if char == "-" then formating=false end
word = word..char
else word = word..char
end
write(word,file2)
else print("something what is not problem")
end
end
在我看来,两个示例在功能上都是相同的。 我真的会努力使用换行符,空格和缩进,因为它看起来确实很乱。 你的第一个例子我写成
function read_this()
char = read_char()
word = ""
if char == "~" then
word = word .. char
char = read_char()
if char == "+" then
formating = true
word = word .. char
elseif char == "-" then
formating = false
word = word .. char
else
word = word .. char
end
write(word,file2)
else
print("something what is not problem")
end
end
我还注意到的是,在每种情况下,无论如何您都执行一个word = word .. char
,因此无需将其放在每个if语句中,然后像这样将其放在它之后:
function read_this()
char = read_char()
word = ""
if char == "~" then
word = word .. char
char = read_char()
if char == "+" then
formating = true
elseif char == "-" then
formating = false
end
word = word .. char
write(word,file2)
else
print("something what is not problem")
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.