2013-10-04 98 views
2

我对lua和一般编程非常陌生,目前正在制定一个基本程序来熟悉if/else/elseif和i/o。io.write每次打印相同的东西?

基本上,它会问你是否是男孩或女孩,然后打印你的相应内容。

虽然我有一个问题,那就是每次运行程序时,都会打印出你是男孩。

对不起,如果我是一个白痴,任何帮助表示赞赏!

代码如下;

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 

回答

2

尝试

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说:

析取操作,或者如果这个值是零和虚假不同返回第一个参数;否则,或返回其第二个参数。

步骤如果答案== “女孩”:

  1. answer == "boy" or "Boy"
  2. false or "Boy"
  3. "Boy"
  4. 字符串被视为真正的 - >执行,如果
2

尝试更换这个:

if answer == "boy" or "Boy" then 

有了这个:

if answer == "boy" or answer == "Boy" then 

而对于其他情况类似。

相关问题