# File lib/puppet/parser/scope.rb, line 48 48: def self.number?(value) 49: unless value.is_a?(Fixnum) or value.is_a?(Bignum) or value.is_a?(Float) or value.is_a?(String) 50: return nil 51: end 52: 53: if value.is_a?(String) 54: if value =~ /^-?\d+(:?\.\d+|(:?\.\d+)?e\d+)$/ 55: return value.to_f 56: elsif value =~ /^0x[0-9a-f]+$/i 57: return value.to_i(16) 58: elsif value =~ /^0[0-7]+$/ 59: return value.to_i(8) 60: elsif value =~ /^-?\d+$/ 61: return value.to_i 62: else 63: return nil 64: end 65: end 66: # it is one of Fixnum,Bignum or Float 67: return value 68: end