a = Numeric.new # doesn't take an argument
I can't imagine a use case for this. Can you?
a = Numeric.new # doesn't take an argument
I can't imagine a use case for this. Can you?
Everything in Ruby is an object, even classes. So to not have a constructor for Numeric
would mean there is no Numeric
class at all!
Take a look at the docs. It's simply a base class. You would never (well, it would be highly unlikely, anyway :)) use it directly.
You will never use numeric class in that fashion. It's the base class to all numeric types in Ruby.
Ruby’s numeric classes form a full numeric tower, providing many kinds of representations of numbers and numerical representations.
Source: Ruby Tips: Numeric Classes
The Class
class defines a new
instance method. And so the new
class method on Numeric
is just a holdover from that - it doesn't do anything - think of it as one of those vestigial organs that animals inherit from a distant ancestor - like the appendix on humans.
Note that the subclasses of Numeric
such as Fixnum
and Float
and their kin explictly undefine the new
method. I guess they just didn't bother undefining it for Numeric
as direct instances of this class never really exist, and it does no harm keeping it around.