summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2022-05-09 11:20:18 -0700
committerGitHub <noreply@github.com>2022-05-09 11:20:18 -0700
commit4400c0cdff1d385241d54ffdf4e2c059d83ef86a (patch)
tree3218bf4a7fade4d504b3802152c089ce2cc9f618 /lib
parent1ca1d2f623bbd0256d63abb10559d6a2b2d3a6cb (diff)
parent8533be8fe75579067273d386a644842c7d0b7cfd (diff)
downloadpsych-4400c0cdff1d385241d54ffdf4e2c059d83ef86a.tar.gz
Merge pull request #530 from MSP-Greg/gsub2tr
scalar_scanner.rb - delete is typically 4 to 5 times faster than gsub
Diffstat (limited to 'lib')
-rw-r--r--lib/psych/scalar_scanner.rb4
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
###