2013-10-04 1 views
2

저는 루아와 프로그래밍에 매우 익숙하며, 현재 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. 문자열이 true로 처리가 -
2

교체하려고하면> 실행 this :

이와 6,
if answer == "boy" or "Boy" then 

:

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

그리고 다른 경우에 유사한.

관련 문제