我对 lua 和一般编程非常陌生,目前正在制作一个基本程序来熟悉 if/else/elseif 和 i/o。
基本上,它会询问您是男孩还是女孩,然后相应地打印出您的身份。
尽管如此,我有一个问题,每次运行该程序时,它总是会打印出“你是一个男孩”。
抱歉,如果我是个白痴,我们将不胜感激!
代码如下;
io.write("Hello, are you a boy or a girl?\n")
answer = io.read()
if answer == "boy" or "Boy" then
io.write("Oh, so you're a boy, huh?")
elseif answer == "girl" or "Girl" then
io.write("Oh, so you're a girl, huh?")
else
io.write("Wow, i've never heard of an "..answer.." before!\n")
end
最佳答案
尝试
io.write("Hello, are you a boy or a girl?\n")
answer = io.read()
if answer == "boy" or answer == "Boy" then
io.write("Oh, so you're a boy, huh?")
elseif answer == "girl" or answer == "Girl" then
io.write("Oh, so you're a girl, huh?")
else
io.write("Wow, i've never heard of an "..answer.." before!\n")
end
说明
Docs说:
The disjunction operator or returns its first argument if this value is different from nil and false; otherwise, or returns its second argument.
如果答案==“女孩”的步骤:
答案==“男孩”或“男孩”
错误或“男孩”
“男孩”
- 字符串被视为 true -> 执行 if
关于io.write 每次都打印相同的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19180689/