aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/scanf.rb2
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d1dd7d7f76..cdfd4cb3a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Oct 26 18:51:00 2010 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * lib/scanf.rb (extract_float): allow 2.e+2 style.
+ [ruby-dev:42452] #3978
+
Tue Oct 26 18:09:36 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* Makefile.in (ASFLAGS): needs INCFLAGS.
diff --git a/lib/scanf.rb b/lib/scanf.rb
index dd6ba6c9d0..50eefbcd2d 100644
--- a/lib/scanf.rb
+++ b/lib/scanf.rb
@@ -321,6 +321,8 @@ module Scanf
end
end
(sign == ?- ? -1 : 1) * Math.ldexp(f, exp.to_i)
+ elsif /\A([-+]?\d+)\.([eE][-+]\d+)/ =~ s
+ ($1 << $2).to_f
else
s.to_f
end