Как проверить, является ли переменная числом или строкой?
Как проверить, является ли переменная числом или строкой, в Ruby?
6 ответов:
есть несколько способов:
>> 1.class #=> Fixnum >> "foo".class #=> String >> 1.is_a? Numeric #=> true >> "foo".is_a? String #=> true
class Object def is_number? self.to_f.to_s == self.to_s || self.to_i.to_s == self.to_s end end > 15.is_number? => true > 15.0.is_number? => true > '15'.is_number? => true > '15.0'.is_number? => true > 'String'.is_number? => false
The
finishing_moves
gem включает в себяString#numeric?
метод для выполнения этой задачи. Подход такой же, как и ответ installero, просто упакованы."1.2".numeric? #=> true "1.2e34".numeric? #=> true "1.2.3".numeric? #=> false "a".numeric? #=> false