在 Match 中§

请参阅主要文档 在上下文中 了解方法 hash

返回命名子匹配的哈希。

在 Any 中§

请参阅主要文档 在上下文中 了解方法 hash

multi method hash(Any:U:)
multi method hash(Any:D:)

当在类型对象上调用时,返回一个空的 Hash。在实例上,它等效于将调用者分配给一个 %-sigiled 变量并返回该变量。

Any 的子类可以选择返回任何从 .hash 执行 Associative 角色的核心类型。使用 .Hash 特别强制转换为 Hash

my $d# $d is Any 
say $d.hash# OUTPUT: {} 
 
my %m is Map = => 42=> 666;
say %m.hash;  # OUTPUT: «Map.new((a => 42, b => 666))␤» 
say %m.Hash;  # OUTPUT: «{a => 42, b => 666}␤» 

在角色 Baggy 中§

请参阅主要文档 在上下文中 了解方法 hash

method hash(Baggy:D: --> Hash:D)

返回一个 Hash,其中调用者的元素是键,其各自的权重是值。

my $breakfast = bag <eggs bacon bacon>;
my $h = $breakfast.hash;
say $h.^name;                    # OUTPUT: «Hash[Any,Any]␤» 
say $h;                          # OUTPUT: «{bacon => 2, eggs => 1}␤»

在 Capture 中§

请参阅主要文档 在上下文中 了解方法 hash

method hash(Capture:D:)

返回 Capture 的命名/哈希部分。

my Capture $c = \(235apples => (red => 2));
say $c.hash# OUTPUT: «Map.new((:apples(:red(2))))␤»

在角色 QuantHash 中§

请参阅主要文档 在上下文中 了解方法 hash

method hash()

QuantHash 对象强制转换为 Hash(通过将键的对象字符串化),哈希的值限制为与 QuantHash 相同的限制,并返回该值。