Как проверить, является ли переменная числом или строкой в Ruby?
Как проверить, является ли переменная числом или строкой?
Ответ 1
Существует несколько способов:
>> 1.class #=> Fixnum
>> "foo".class #=> String
>> 1.is_a? Numeric #=> true
>> "foo".is_a? String #=> true
Ответ 2
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
Ответ 3
var.is_a? String
var.is_a? Numeric
Ответ 4
finishing_moves
камень включает в себя String#numeric?
метод для выполнения этой самой задачи. Подход такой же, как и у ответа installero, только что упакованный.
"1.2".numeric?
#=> true
"1.2e34".numeric?
#=> true
"1.2.3".numeric?
#=> false
"a".numeric?
#=> false
Ответ 5
Распечатайте свой класс, он покажет вам, какой тип переменной (например, String или Number).
например:.
puts varName.class
Ответ 6
class Object
def numeric?
Float(self) != nil rescue false
end
end
Ответ 7
if chr.to_i != 0
puts "It is number, yep"
end