为什么要使用成对列表而不是来自地图的哈希?

时间:2019-09-15 05:22:33

标签: dictionary hash raku

我可以使用哈希构造函数来构造哈希,如下所示:

my $h={entry=>"hello"};

但是如果在map语句的末尾使用它,我会得到一个成对列表:

[^3].map({ {entry=>$_} }).say;
##Output:  (entry => 0 entry => 1 entry => 2)

我可以用强制方式解决此问题,并根据需要提供哈希列表:

[^3].map({ %(entry=>$_) }).say;
##Output: ({entry => 0} {entry => 1} {entry => 2})

我知道{}运算符因创建块而过载,但是在此示例中,我不了解返回对而不是返回哈希。有人可以启发我吗?还有其他情况下,我会使用'hash'构造函数获取成对列表,而不是哈希吗?谢谢!

0 个答案:

没有答案