In Cool§
See primary documentation in context for method Num
multi method Num()
Coerces the invocant to a Numeric
and calls its .Num
method. Fails if the coercion to a Numeric
cannot be done.
say 1+0i.Num; # OUTPUT: «1»say 2e1.Num; # OUTPUT: «20»say (16/9)².Num; # OUTPUT: «3.1604938271604937»say (-4/3).Num; # OUTPUT: «-1.3333333333333333»say "foo".Num.^name; # OUTPUT: «Failure»
In NumStr§
See primary documentation in context for method Num
method Num
Returns the Num
value of the NumStr
.
In Str§
See primary documentation in context for method Num
method Num(Str: --> Num)
Coerces the string to Num
, using the same rules as Str.Numeric
and handling negative zero, -0e0
, and positive zero, 0e0
.
my Str = "-0/5";say (.self, .^name) given .Numeric; # OUTPUT: «(0 Rat)»say (.self, .^name) given .Num; # OUTPUT: «(-0 Num)»
In Num§
See primary documentation in context for method Num
method Num()
Returns the invocant.
In role Real§
See primary documentation in context for method Num
method Num(Real:)
Calls the Bridge
method on the invocant and then the Num
method on its return value.
In role Rational§
See primary documentation in context for method Num
method Num(Rational: --> Num)
Coerces the invocant to Num
by dividing numerator by denominator. If denominator is 0
, returns Inf
, -Inf
, or NaN
, based on whether numerator is a positive number, negative number, or 0
, respectively.