我正在第一次學習ruby和計算機科學主題。我正在閱讀克里斯派恩的「學習編程」一書,並對一個例子有疑問。爲什麼在這個While Loop例子中的答案變量?
下面是代碼:
def ask(question) # new method with paramater question
while true # starts a loop
puts question # puts the question on the screen
reply = gets.chomp.downcase # gets the question and makes it lower case
if (reply == "yes" || reply == "no") # if reply was yes or no
if reply == "yes" # nested if statement if yes answer == true
answer = true # WHAT??
else # the else of the second if
answer = false # WHAT?? why do we care about answer??
end
break # Breaks the Loop
else # the else of the 1st if
puts ' Please answer "yes" or "no".'
end
end
answer # Why is answer here?
end
我的問題是,爲什麼我們需要的 「答案」?我不明白它對環路有什麼影響。 while循環設置爲true而不是回答。
謝謝!我明白這一點,但爲什麼我們甚至真的關心這個呢?它不會影響我們的循環嗎?還是真的什麼?如果答案是肯定的,我們可以只有答案= 5,如果答案是否定答案= 4? – HelloWorld
我有點看到它。你怎麼沒有在循環之外預定義answer = true,然後設置while回答(現在是真的)?那麼循環中的休息又是什麼?我認爲這就是打破循環? – HelloWorld
@Babai,雖然接受,你的答案是不正確的。 '回答'不需要退出無限while循環。這也可以通過直接返回「true」或「false」來實現,從而消除了「answer」變量。 – Max