【问题标题】:If type is character I want to puts error如果类型是字符,我想输入错误
【发布时间】:2013-09-25 11:51:50
【问题描述】:
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”以外的字符,我想制作代码以显示错误。 我应该怎么做?

【问题讨论】:

  • 这是什么语言?目前有什么问题?
  • 您可能想要编辑您的帖子以添加一个标签,该标签命名任何应该是的语言。
  • 这是 Ruby 语言。

标签: ruby types char sum


【解决方案1】:

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

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

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

'foobar'.to_i  # => 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-30
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多