我正在学习 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
您已将此标记为 ruby-on-rails所以我假设您正在考虑将字符串视为空白 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/