在角色 Rational 中§
有关方法 Num 的主要文档,请参阅上下文。
method Num(Rational: --> Num)
通过将分子除以分母,将调用方强制转换为Num
。如果分母为 0
,则根据分子是正数、负数还是 0
分别返回 Inf
、-Inf
或 NaN
。
在 Cool 中§
有关方法 Num 的主要文档,请参阅上下文。
multi method Num()
将调用方强制转换为Numeric
并调用其.Num
方法。如果无法完成对Numeric
的强制转换,则失败。
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»
在 NumStr 中§
有关方法 Num 的主要文档,请参阅上下文。
method Num
返回 NumStr
的 C<Num>|/type/Num
值。
在角色 Real 中§
请参阅上下文中的主要文档,了解方法 Num
method Num(Real:)
在调用者上调用 Bridge
方法,然后在其返回值上调用 Num
方法。
在 Str 中§
请参阅上下文中的主要文档,了解方法 Num
method Num(Str: --> Num)
使用与 Str.Numeric
相同的规则,将字符串强制转换为 Num
,并处理负零(-0e0
)和正零(0e0
)。
my Str = "-0/5";say (.self, .^name) given .Numeric; # OUTPUT: «(0 Rat)»say (.self, .^name) given .Num; # OUTPUT: «(-0 Num)»
在 Num 中§
请参阅上下文中的主要文档,了解方法 Num
method Num()
返回调用者。