is Allomorph is Complex
ComplexStr
是一种双值类型,是 Allomorph
的子类,因此是 Str
和 Complex
的子类。
有关更多详细信息,请参见 Allomorph
。
my = <42+0i>;say .^name; # OUTPUT: «ComplexStr»my Complex = ; # OK!my Str = ; # OK!# ∈ operator cares about object identitysay 42+0i ∈ <42+0i 55 1>; # OUTPUT: «False»
方法§
方法 new§
method new(Complex , Str )
构造函数需要 Complex
和 Str
值,直接构造时,值可以是任何所需的值
my = ComplexStr.new(42+0i, "forty two (but complicated)");say +; # OUTPUT: «42+0i»say ~; # OUTPUT: «"forty two (but complicated)"»
方法 Capture§
method Capture(ComplexStr: --> Capture)
等效于 Mu.Capture
.
方法 Complex§
method Complex
返回 ComplexStr
的 Complex
值。
方法 Numeric§
multi method Numeric(ComplexStr: --> Complex)multi method Numeric(ComplexStr: --> Complex)
:D
变体返回调用者的数字部分。:U
变体发出关于在数字上下文中使用未初始化值的警告,然后返回 <0+0i>
值。
方法 Real§
multi method Real(ComplexStr: --> Num)multi method Real(ComplexStr: --> Num)
将调用者的数字部分强制转换为 Num
。如果虚部不 近似 为零,则强制转换将 失败,并出现 X::Numeric::Real
错误。
:D
变体返回强制转换的结果。:U
变体发出关于在数字上下文中使用未初始化值的警告,然后返回 0e0
值。
运算符§
中缀 ===
§
multi infix:<===>(ComplexStr , ComplexStr )
ComplexStr
值标识运算符。如果 $a
和 $b
的 Complex
值 相同,并且它们的 Str
值也 相同,则返回 True
。否则返回 False
。