-2

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

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循环不起作用!

4

2 回答 2

1

==并且or像数学运算符一样工作,因为它们一次被评估一个,==首先被评估。如果accept'no',accept=="YES" or "yes"将像这样评估:

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

在 Lua 中,除了nil和之外的所有值false都是真实的,所以你的if块总是运行而不是你的elseif块。

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

于 2018-05-06T16:16:09.057 回答
0

尝试这个..

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
于 2018-05-11T06:35:48.613 回答