1
puts "Let's sum many numbers"

sum = 0
num = 0
while(num != 'x')
  puts "Press a number and then Enter if you exit press 'x'"
  num = gets.chomp
  if num != 'x'
    num = num.to_i 
    print "#{sum} + #{num} = "
    sum += num
    puts "#{sum}"
  elsif num == 'x'
    puts "Total sum is #{sum}"
    break
  else 
    puts "error!"
  end
 end

我想让代码显示错误如果用户按除“x”之外的字符。我应该怎么做?

4

1 回答 1

-1

将您的第一个更改if为检查输入是否为数字的条件,例如

if num =~ /\A[0..9]+\z/   # or /\A\d+\z/

您的代码当前的方式是,除此之外的所有字符串'x'都被视为数字 -0如果它们不是真正的数字,则具有值:

'foobar'.to_i  # => 0
于 2013-09-25T12:54:33.673 回答