如何检查一个variables是一个数字还是一个string?
如何检查一个variables是一个数字或string在Ruby?
有几种方法:
>> 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
var.is_a? String var.is_a? Numeric
finishing_moves
gem包含一个String#numeric?
方法来完成这个任务。 这个方法和installero的答案一样,只是打包。
"1.2".numeric? #=> true "1.2e34".numeric? #=> true "1.2.3".numeric? #=> false "a".numeric? #=> false
打印它的类,它会告诉你哪种types的variables是(例如string或数字)。
例如:
puts varName.class
if chr.to_i != 0 puts "It is number, yep" end