RUBY:If/Else语句创建循环
问题描述:
我正在寻找正确的方式在Ruby中执行此操作。我想创建一个if/else语句,它将保持循环,直到找到正确的答案。例如:RUBY:If/Else语句创建循环
puts "Guess a number",prompt
$stdin.gets.chomp = x
if x == 5
puts "correct
else
# loop back to beginning and start over
end
答
您可以使用while
语句循环,如果猜数,再破,就像这样:
while true
puts "Guess a number:"
if gets.chomp.to_i == 5
puts "correct"
break
end
puts "guessed wrong, please try again!"
end
或使用until
声明:
puts "Guess a number:"
until gets.chomp.to_i == 5 do
puts "guessed wrong, please try again!"
end
puts "correct"
为@izaban说,loop...do
也可以工作:
loop do
puts "Guess a number:"
if gets.chomp.to_i == 5
puts "correct"
break
end
puts "guessed wrong, please try again!"
end
答
这是一个没有用break了解决方案:
guess = 0
first_run_through = true
until guess == 5
puts 'guessed wrong, please try again!' unless first_run_through
first_run_through = false
puts 'Guess a number'
guess = gets.chomp.to_i
end
puts 'correct'
你也可以使用'循环do',而不是'而TRUE' – izaban
@izaban是的,你说得对,'循环.... do'也可以工作。 – pangpang