ruby-on-rails - 如果用户将答案留空,如何将变量设置为零?

标签 ruby-on-rails ruby

我正在学习 ruby​​,但有点卡住了。如果用户将问题留空,他们希望我们将变量设置为零。否则将他们的答案转换为整数。我想出了以下内容,但是当我将答案留空时,它会打印 0。你能引导我走向正确的方向吗?

puts "What's your favorite number?"
number = gets.chomp
if number == ' '
    number = nil
else 
    number = number.to_i
end
p number

最佳答案

您只是测试输入的数字是否明确是单个空格。如果您正在测试“空白”,您可能想要strip您收到的输入,然后测试它是否是 empty? .

例如

number = gets.strip
if number.empty?
  number = nil
else
  number = number.to_i
end

您已将此标记为 所以我假设您正在考虑将字符串视为空白 if blank?返回 true(即字符串为空或仅包含空格。如果您使用的是 Rails,则可以使用 blank? 方法来测试输入:

number = gets
if number.blank?
  number = nil
else
  number = number.to_i
end

关于ruby-on-rails - 如果用户将答案留空,如何将变量设置为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36196832/

相关文章:

ruby-on-rails - 在 Rails 5 中渲染多行字符串的多余空间

ruby-on-rails - Rails 4 - 想让 Rails 将我的本地时区用于 created_at 和 updated_at

ruby-on-rails - 将 ActiveRecord 列转换为 PostGIS 点

ruby-on-rails - 使用 Rails 2.3.5 绕过 Rack 版本错误

ruby-on-rails - 使后台作业生成的文件可供下载

ruby - 在 Ruby 中定义新的逻辑运算符

ruby - Bunder 需要 yaml/logger

ruby-on-rails - 在没有 <%= 的情况下在 ERB 中打印?

ruby-on-rails - 在Ruby on Rails上部署-Heroku是否有不错的选择?

ruby - hadoop流,如何设置分区?