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
。