role QuantHash does Associative { }

QuantHash 角色提供了 SettyBaggyMixy 角色共享的基本功能。这些角色提供了值在某种程度上受到限制的对象哈希。

QuantHashesset 运算符 在内部使用的。

方法§

方法 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:D:)

返回 QuantHash 中所有键和值 Pair 对象的列表。

方法 Setty§

method Setty(--> Setty:D)

QuantHash 对象强制转换为使用 Setty 角色的等效对象。请注意,对于 Mixy 类型强制转换,将跳过具有负值的项。

my %b is Bag = one => 1two => 2;
say %b.Setty# OUTPUT: «Set(one two)␤» 
my %m is Mix = one => 1minus => -1;
say %m.Setty# OUTPUT: «Set(one)␤»

方法 Baggy§

method Baggy(--> Baggy:D)

QuantHash 对象强制转换为使用 Baggy 角色的等效对象。请注意,对于 Mixy 类型强制转换,将跳过具有负值的项。

my %s is Set = <one two>;
say %s.Baggy# OUTPUT: «Bag(one two)␤» 
my %m is Mix = one => 1minus => -1;
say %m.Baggy# OUTPUT: «Bag(one)␤»

方法 Mixy§

method Mixy(--> Mixy:D)

QuantHash 对象强制转换为使用 Mixy 角色的等效对象。

my %s is Set = <one two>;
say %s.Mixy# OUTPUT: «Mix(one two)␤» 
my %b is Bag = one => 1two => 2;
say %b.Mixy# OUTPUT: «Mix(one two(2))␤»

Typegraph§

QuantHash 的类型关系
raku-type-graph QuantHash QuantHash Associative Associative QuantHash->Associative Baggy Baggy Baggy->QuantHash Setty Setty Setty->QuantHash Mu Mu Any Any Any->Mu Bag Bag Bag->Baggy Bag->Any Mixy Mixy Mixy->Baggy BagHash BagHash BagHash->Baggy BagHash->Any Set Set Set->Setty Set->Any SetHash SetHash SetHash->Setty SetHash->Any MixHash MixHash MixHash->Any MixHash->Mixy Mix Mix Mix->Any Mix->Mixy

展开上面的图表