Method: String#convert_to_value
- Defined in:
- lib/openc3/core_ext/string.rb
#convert_to_value ⇒ Object
depending on what the String represents. It can successfully convert floating point numbers in both fixed and scientific notation, integers in hexadecimal notation, and Arrays. If it can’t be converted into any of the above then the original String is returned.
222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 |
# File 'lib/openc3/core_ext/string.rb', line 222 def convert_to_value return_value = self begin upcase_self = self.upcase if upcase_self == 'INFINITY'.freeze return_value = Float::INFINITY elsif upcase_self == '-INFINITY'.freeze return_value = -Float::INFINITY elsif upcase_self == 'NAN'.freeze return_value = Float::NAN elsif self.is_float? # Floating Point in normal or scientific notation return_value = self.to_f elsif self.is_int? # Integer return_value = self.to_i elsif self.is_hex? # Hex return_value = Integer(self) elsif self.is_array? # Array return_value = eval(self) end rescue Exception # Something went wrong so just return the string as is end return return_value end |