does Associative
QuantHash
角色提供了 Setty
、Baggy
和 Mixy
角色共享的基本功能。这些角色提供了值在某种程度上受到限制的对象哈希。
QuantHashes
是 set 运算符 在内部使用的。
方法§
方法 hash§
method hash()
将 QuantHash
对象强制转换为 Hash
(通过将键的对象字符串化),哈希的值限制与 QuantHash
相同,并返回该值。
方法 Hash§
method Hash()
将 QuantHash
对象强制转换为 Hash
(通过将键的对象字符串化),对值没有任何限制,并返回该值。
方法 Map§
method Map()
在 Rakudo 编译器的 2021.02 版本中可用。
将 QuantHash
对象强制转换为 Map
(通过将键的对象字符串化),对值没有任何限制,并返回该值。
方法 of§
method of()
返回此 QuantHash
的值可能具有的值类型。对于 Setty
,这通常是 Bool
,对于 Baggy
,这通常是 UInt
,对于 Mixy
角色,这通常是 Real
。
方法 keyof§
method keyof()
返回此 QuantHash
子类的键可能具有的值类型。这通常是 Mu
,这也是双关语 QuantHashes 的默认值。
方法 Capture§
method Capture()
通过先前将其强制转换为 Hash
,将对象作为 Capture
返回。
方法 list§
multi method list(QuantHash:)
返回 QuantHash 中所有键和值 Pair
对象的列表。
方法 Setty§
method Setty(--> Setty)
将 QuantHash
对象强制转换为使用 Setty
角色的等效对象。请注意,对于 Mixy
类型强制转换,将跳过具有负值的项。
my is Bag = one => 1, two => 2;say .Setty; # OUTPUT: «Set(one two)»my is Mix = one => 1, minus => -1;say .Setty; # OUTPUT: «Set(one)»
方法 Baggy§
method Baggy(--> Baggy)
将 QuantHash
对象强制转换为使用 Baggy
角色的等效对象。请注意,对于 Mixy
类型强制转换,将跳过具有负值的项。
my is Set = <one two>;say .Baggy; # OUTPUT: «Bag(one two)»my is Mix = one => 1, minus => -1;say .Baggy; # OUTPUT: «Bag(one)»
方法 Mixy§
method Mixy(--> Mixy)
将 QuantHash
对象强制转换为使用 Mixy
角色的等效对象。
my is Set = <one two>;say .Mixy; # OUTPUT: «Mix(one two)»my is Bag = one => 1, two => 2;say .Mixy; # OUTPUT: «Mix(one two(2))»