提示使用循环我开始:用的if/else/ESIF
puts "Hello there, and what's your favorite number?"
favnum = gets.to_i
puts "Your favorite number is #{favnum}?" " A better favorite number is #{favnum + 1}!"
puts "Now, what's your favorite number greater than 10?"
favnumOverTen = gets.to_i
if favnumOverTen < 10
puts "Hey! I said GREATER than 10! Try again buddy."
else
puts "Your favorite number great than 10 is #{favnumOverTen}?"
puts "A bigger and better number over 10 is #{favnumOverTen * 10}!"
puts "It's literally 10 times better!"
end
这工作得很好,但如果用户输入的数少于10的程序结束。 我想让用户再次尝试,直到他们输入一个大于10的数字。 我应该用循环来做这件事吗?
这是我花了在摇摆,但显然这是错误的:
puts "Hello there, and what's your favorite number?"
favnum = gets.to_i
puts "Your favorite number is #{favnum}?" " A better favorite number is #{favnum + 1}!"
puts "Now, what's your favorite number greater than 10?"
favnumOverTen = gets.to_i
if favnumOverTen < 10
loop.do
puts "Hey! I said GREATER than 10! Try again buddy."
favnumOverTen = gets.to_i
until favnumOverTen > 10
else
puts "Your favorite number great than 10 is #{favnumOverTen}?"
puts "A bigger and better number over 10 is #{favnumOverTen * 10}!"
puts "It's literally 10 times better!"
end
感谢您提供骆驼案例的提示。我正在阅读的这本书说要使用它。看起来很多Ruby代码只是基于个人偏好。我更喜欢你这样做的方式,因为它提供了可读性,但同时它使线条更长一些。我必须弄清楚哪一个我最喜欢... – Dante 2012-04-04 03:34:24