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。
类型图§
ComplexStr 的类型关系