is Allomorph is Num
NumStr 是一个双值类型,是 Allomorph(因此是 Str)和 Num 的子类。
有关更多详细信息,请参见 Allomorph。
my = <42.1e0>;say .^name; # OUTPUT: «NumStr»my Num = ; # OK!my Str = ; # OK!# ∈ operator cares about object identitysay 42e10 ∈ <42e10 55 1>; # OUTPUT: «False»
方法§
方法 new§
method new(Num , Str )
构造函数同时需要 Num 和 C<Str>|/type/Str 值,直接构造时,值可以是任何所需值
my = NumStr.new(42.1e0, "forty two and a bit");say +; # OUTPUT: «42.1»say ~; # OUTPUT: «"forty two and a bit"»
方法 Num§
method Num
返回 NumStr 的 C<Num>|/type/Num 值。
方法 Numeric§
multi method Numeric(NumStr: --> Num)multi method Numeric(NumStr: --> Num)
:D 变体返回调用者的数字部分。:U 变体发出警告,提示在数字上下文中使用未初始化的值,然后返回值 0e0。
方法 Real§
multi method Real(NumStr: --> Num)multi method Real(NumStr: --> Num)
:D 变体返回调用者的数字部分。:U 变体发出警告,提示在数字上下文中使用未初始化的值,然后返回值 0e0。
运算符§
中缀 ===§
multi infix:<===>(NumStr , NumStr )
NumStr 值同一性运算符。如果 $a 和 $b 的 Num 值 相同,并且它们的 Str 值也 相同,则返回 True。否则返回 False。
类型图§
NumStr 的类型关系