puts "Quel age tu as ?"
print ">"
age = gets.chomp.to_i
i = 0
while age > 0
放置 "Il y a " age.to_s " ans" " tu avais : " i.to_s " ans"。
age -=1
i =1
break if age = i
放置 "Il y a " age.to_s " ans" " tu avais la moitié de ton age!"
年齡 = i
結束。
我在Ruby On Rails上的程式有一個問題。我對我的英語水平提前表示歉意。
我通過做一個練習來訓練這種語言,這個練習允許你輸入你的年齡,并查看你在某一年的年齡。
但是,舉例來說。當我們的年齡達到一半時,比如說20歲,我想顯示(法語)
"十年前,我的年齡是20歲。
"十年前,你是你年齡的一半!"
我想通過 "break if "來顯示,但這只能產生一行代碼。 我希望你已經理解了,否則請不要猶豫,要求澄清。
預先感謝你。
uj5u.com熱心網友回復:
break不一定是單行的,你可以在滿足一個條件后讓break單獨出現,另外你的代碼中有一個問題,你用=而不是==進行比較。
if (condition == true)
break (condition == true)
結束。
你的代碼可以是這樣的
puts "Quel age tu as?"
print ">"
age = gets.chomp.to_i
i = 0
while age > 0
放置 "Il y a " age.to_s " ans tu avais : " i.to_s " ans"
age -=1
i =1
if age == i
則放"Il y a"/span> age.to_s " ans tu avais la moitié de ton age!"
break。
結束
end end
注意:我還可以指出,如果輸入的年齡是奇數,你的代碼將不會顯示"十年前,你是你年齡的一半!"
uj5u.com熱心網友回復:
break陳述句停止你的while回圈。你可能需要一個if運算式:
while age > 0
if age == i
則放"Il y a #{age} ans tu avais la moitié de ton age!"
else
將"Il y a #{age} ans tu avais : #{i} ans"
end
age -= 1
i =1
end
你可以通過使用downto和with_index來擺脫手動遞增/遞減的做法:
age.downto(1).with_index do |a, i|>
if a == i
放置"Il y a #{a} ans tu avais la moitié de ton age!"
else
將"Il y a #{a} ans tu avais : #{i} ans"
結束。
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/313818.html
標籤:
