diff options
author | Aaron Patterson <tenderlove@ruby-lang.org> | 2022-05-09 11:20:18 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-09 11:20:18 -0700 |
commit | 4400c0cdff1d385241d54ffdf4e2c059d83ef86a (patch) | |
tree | 3218bf4a7fade4d504b3802152c089ce2cc9f618 | |
parent | 1ca1d2f623bbd0256d63abb10559d6a2b2d3a6cb (diff) | |
parent | 8533be8fe75579067273d386a644842c7d0b7cfd (diff) | |
download | psych-4400c0cdff1d385241d54ffdf4e2c059d83ef86a.tar.gz |
Merge pull request #530 from MSP-Greg/gsub2tr
scalar_scanner.rb - delete is typically 4 to 5 times faster than gsub
-rw-r--r-- | lib/psych/scalar_scanner.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/psych/scalar_scanner.rb b/lib/psych/scalar_scanner.rb index 58deea3..b50667c 100644 --- a/lib/psych/scalar_scanner.rb +++ b/lib/psych/scalar_scanner.rb @@ -95,7 +95,7 @@ module Psych if string.match?(/\A[-+]?\.\Z/) string else - Float(string.gsub(/[,_]|\.([Ee]|$)/, '\1')) + Float(string.delete(',_').gsub(/\.([Ee]|$)/, '\1')) end elsif string.match?(integer_regex) parse_int string @@ -107,7 +107,7 @@ module Psych ### # Parse and return an int from +string+ def parse_int string - Integer(string.gsub(/[,_]/, '')) + Integer(string.delete(',_')) end ### |