class RatStr is Allomorph is Rat {}

RatStr 是一个双值类型,是 Allomorph(因此是 Str)和 Rat 的子类。

有关更多详细信息,请参阅 Allomorph

my $rat-str = <42.1>;
say $rat-str.^name;       # OUTPUT: «RatStr␤» 
 
my Rat $rat = $rat-str;   # OK! 
my Str $str = $rat-str;   # OK! 
 
# ∈ operator cares about object identity 
say 42.1  <42.1  55  1># OUTPUT: «False␤» 

方法§

方法 new§

method new(Rat $iStr $s)

构造函数需要 RatStr 值,直接构造时,值可以是任何需要的值

my $f = RatStr.new(42.1"forty two and a bit");
say +$f# OUTPUT: «42.1␤» 
say ~$f# OUTPUT: «"forty two and a bit"␤»

方法 Capture§

method Capture(RatStr:D: --> Capture:D)

等同于 Mu.Capture

方法 Numeric§

multi method Numeric(RatStr:D: --> Rat:D)
multi method Numeric(RatStr:U: --> Rat:D)

:D 变体返回调用者的数字部分。:U 变体发出有关在数字上下文中使用未初始化值的警告,然后返回值 0.0

方法 Rat§

method Rat

返回 RatStrRat 值。

方法 Real§

multi method Real(Real:D: --> Rat:D)
multi method Real(Real:U: --> Rat:D)

:D 变体返回调用者的数字部分。:U 变体发出有关在数字上下文中使用未初始化值的警告,然后返回值 0.0

运算符§

中缀 ===§

multi infix:<===>(RatStr:D $aRatStr:D $b)

RatStr 值同一性运算符。如果 $a$bRat相同,并且它们的 Str 值也 相同,则返回 True。否则返回 False

类型图§

RatStr 的类型关系
raku-type-graph RatStr RatStr Allomorph Allomorph RatStr->Allomorph Rat Rat RatStr->Rat Mu Mu Any Any Any->Mu Cool Cool Cool->Any Stringy Stringy Str Str Str->Cool Str->Stringy Allomorph->Str Numeric Numeric Real Real Real->Numeric Rational Rational Rational->Real Rat->Cool Rat->Rational

展开上面的图表