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”之外的字符。 我应该怎么做?
答案 0 :(得分:-1)
将您的第一个if
更改为检查输入是否为数字的条件,例如
if num =~ /\A[0..9]+\z/ # or /\A\d+\z/
您的代码目前的方式,除了'x'
之外的所有字符串都被视为数字 - 值为0
,以防它们不是真正的数字:
'foobar'.to_i # => 0