mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
support builtin for Kernel#Float
# Iteration per second (i/s) | |compare-ruby|built-ruby| |:------------|-----------:|---------:| |float | 30.395M| 38.314M| | | -| 1.26x| |float_true | 3.833M| 27.322M| | | -| 7.13x| |float_false | 4.182M| 24.938M| | | -| 5.96x|
This commit is contained in:
parent
ad63ae6619
commit
17083011ee
Notes:
git
2020-04-22 09:49:42 +09:00
Merged: https://github.com/ruby/ruby/pull/3048 Merged-By: nobu <nobu@ruby-lang.org>
3 changed files with 32 additions and 25 deletions
24
kernel.rb
24
kernel.rb
|
@ -26,4 +26,28 @@ module Kernel
|
|||
def clone(freeze: nil)
|
||||
__builtin_rb_obj_clone2(freeze)
|
||||
end
|
||||
|
||||
module_function
|
||||
|
||||
#
|
||||
# call-seq:
|
||||
# Float(arg, exception: true) -> float or nil
|
||||
#
|
||||
# Returns <i>arg</i> converted to a float. Numeric types are
|
||||
# converted directly, and with exception to String and
|
||||
# <code>nil</code> the rest are converted using
|
||||
# <i>arg</i><code>.to_f</code>. Converting a String with invalid
|
||||
# characters will result in a ArgumentError. Converting
|
||||
# <code>nil</code> generates a TypeError. Exceptions can be
|
||||
# suppressed by passing <code>exception: false</code>.
|
||||
#
|
||||
# Float(1) #=> 1.0
|
||||
# Float("123.456") #=> 123.456
|
||||
# Float("123.0_badstring") #=> ArgumentError: invalid value for Float(): "123.0_badstring"
|
||||
# Float(nil) #=> TypeError: can't convert nil into Float
|
||||
# Float("123.0_badstring", exception: false) #=> nil
|
||||
#
|
||||
def Float(arg, exception: true)
|
||||
__builtin_rb_f_float(arg, exception)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue