Lua 代码否则如果不起作用



这就是接受用户的输入并使用该特定文本进行搜索。

string.gsub.

io.write("ENTER ANY STORY :-D ")
story=io.read()
io.write("t OKAY!, THAT'S NICE :-D  ")
io.write("t DO YOU WANT TO REPLACE ANY TEXT:?  ")
accept=io.read()
if accept=="YES" or "yes" then
io.write("t WHICH TEXT TO REPLAE?  ")
replace=io.read()
--HERE IS THE REPLACING TEXT
io.write("t WITH WHAT:?   ")
with=io.read()
result=string.gsub(story,replace,with)
print("t THE REPLACED TEXT IS: ",result)
elseif accept=="NO" or "no" then
print(result)
end

错误:elseif循环不起作用!!

==or的工作方式类似于数学运算符,因为它们一次被计算一个,首先计算==。如果accept'no'accept=="YES" or "yes"将像这样计算:

(accept == "YES") or "yes"
('no' == "YES") or "yes"
false or "yes"
"yes"

在 Lua 中,除nilfalse之外的所有值都是真实的,因此您的if块将始终运行而不是elseif块。

正如评论中所说,accept:upper()=="YES"会修复它。accept:upper()返回一个字符串,其中accept的所有字母都转换为大写,因此您只需将其与一个值进行比较。

试试这个。

io.write("ENTER ANY STORY :-D ")
story=io.read()
io.write("t OKAY!, THAT'S NICE :-D  ")
io.write("t DO YOU WANT TO REPLACE ANY TEXT:?  ")
accept=io.read()
if accept=="YES" or accept == "yes" then
io.write("t WHICH TEXT TO REPLAE?  ")
replace=io.read()
--HERE IS THE REPLACING TEXT
io.write("t WITH WHAT:?   ")
with=io.read()
result=string.gsub(story,replace,with)
print("t THE REPLACED TEXT IS: ",result)
elseif accept=="NO" or accept == "no" then
print(result)
end

最新更新