在 RatStr 中§

请参阅方法 Rat的上下文中的主要文档 in context

method Rat

返回 RatStrRat 值。

在 Cool 中§

请参阅方法 Rat的上下文中的主要文档 in context

multi method Rat()

将调用者强制转换为 Numeric 并调用其 .Rat 方法。如果无法强制转换为 Numeric,则 失败

say 1+0i.Rat;                             # OUTPUT: «1␤» 
say 2e1.Rat;                              # OUTPUT: «20␤» 
say (-4/3).Rat;                           # OUTPUT: «-1.333333␤» 
say "foo".Rat.^name;                      # OUTPUT: «Failure␤» 
say (.numerator.denominatorfor π.Rat# OUTPUT: «(355 113)␤»

在角色 Real 中§

请参阅方法 Rat的上下文中的主要文档 in context

method Rat(Real:D: Real $epsilon = 1e-6)

在调用者上调用 Bridge 方法,然后在返回值上使用 $epsilon 参数调用 Rat 方法

在 Str 中§

请参阅方法 Rat的上下文中的主要文档 in context

method Rat(Str:D: --> Rational:D)

使用与 Str.Numeric 相同的规则将字符串强制转换为 Rat 对象。如果分母大于 64 位,则仍保留它,并且不会降级为 Num

在 Num 中§

请参阅方法 Rat的上下文中的主要文档 in context

method Rat(Num:D: Real $epsilon = 1e-6)

使用 $epsilon 精度将数字转换为 Rat。如果调用者是 Inf-InfNaN,则将它们转换为 Rat,其中 0 分母1-10 分子,分别。