文字列から Integer や Float に変換できるか調べる
to_i
や to_f
だと無理やり変換して、Kernel#Integer
、Kernel#Float
だと変換できないときに例外投げるんだよね
"5foo".to_i #=> 5
"foo5".to_i #=> 0
Integer "5foo" #~> invalid value for Integer(): "5foo" (ArgumentError)
文字列から Integer や float に変換できるか調べるためのメソッドをモンキーパッチ
class String
def int_valid?
Integer(self)
true
rescue ArgumentError
false
end
def float_valid?
Float(self)
true
rescue ArgumentError
false
end
end