我这样做:
puts "What's your number? "
x = gets.to_i
puts x.class
如果用户输入3,则该字符串(输入)将转换为一个integer.但如果我输入"Charly",它也会转换为一个integer.
测试用户是否输入数字的最佳方法是什么?
我这样做:
puts "What's your number? "
x = gets.to_i
puts x.class
如果用户输入3,则该字符串(输入)将转换为一个integer.但如果我输入"Charly",它也会转换为一个integer.
测试用户是否输入数字的最佳方法是什么?
您可以将数字转换回字符串,看看它是否与原始输入匹配.
ok = false
puts "Enter a number"
while not ok do
s = gets.chomp
if s.to_i.to_s == s then
entered_number = s.to_i
ok = true
else
warn "Please enter a number"
end
end
puts "You entered #{entered_number}"