2013-10-04 101 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 

而對於其他情況類似。

相關問題