我可以将对象转换为to_i
的整数。如果输入不是数字,怎么能让它不转换?
在python中我会这样做:
h=input("Number: ")
try:
h=int(h)
except ValueError:
print("Please enter numbers!")
所以我在ruby中试过这个:
print "Number: "
h=gets.chomp
try(h.to_i)
print(h)
end
但是即使我输入字母也打印输入,所以这意味着我做错了。这样做的正确Ruby方法是什么?
答案 0 :(得分:2)
返回将str中的前导字符解释为的结果 整数基数(2到36之间)。过去的外来人物 有效数字的结尾将被忽略。如果没有有效号码 str的开始,返回0。此方法永远不会引发异常 当base有效时。
在您的情况下(映射Python行为)您想要的是:
begin
Integer(gets)
rescue ArgumentError
puts "Please enter numbers!"
end