io.每次都打印相同的东西吗?

io.每次都打印相同的东西吗?,io,lua,Io,Lua,我对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

我对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
试一试


解释 说:

如果此值不同于nil和false,则析取运算符or返回其第一个参数;否则,或返回其第二个参数

如果答案==“女孩”,则执行步骤:

  • answer==“男孩”或“男孩”
  • false或“Boy”
  • “男孩”
  • 字符串被视为true->execute if
  • 试一试


    解释 说:

    如果此值不同于nil和false,则析取运算符or返回其第一个参数;否则,或返回其第二个参数

    如果答案==“女孩”,则执行步骤:

  • answer==“男孩”或“男孩”
  • false或“Boy”
  • “男孩”
  • 字符串被视为true->execute if
  • 尝试替换此:

    if answer == "boy" or "Boy" then
    
    为此:

    if answer == "boy" or answer == "Boy" then
    
    另一种情况与此类似。

    尝试替换此:

    if answer == "boy" or "Boy" then
    
    为此:

    if answer == "boy" or answer == "Boy" then
    
    另一种情况也类似