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.
In NumStr§
See primary documentation in context for method Num
method Num
Returns the Num
value of the NumStr
.
In Num§
See primary documentation in context for method Num
method Num()
Returns the invocant.
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 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 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»