如何按出现的顺序获取哈希键

Ser*_*rov 6 hash raku

我有一个哈希:

use v6;

my %some-hash = a => 0,
                b => 42,
                c => 417;
Run Code Online (Sandbox Code Playgroud)

我试图用 获取它的键%some-hash.keys,它返回所有键的 Seq,但不是按照它们声明的顺序。键的顺序似乎是在哈希初始化时确定的,因为如果我多次运行代码,它会发生变化。

是否可以保留订单(a b c)

PS 是%some-hash.keys.sort不够的,因为键应该具有任意名称。

Eli*_*sen 9

正如您所见,哈希键是随机排序的。

生态系统中有一些模块可以帮助你获得你想要的东西:

或者,如果这些不完全符合您的要求,您可以使用以下方法构建自己的 Hash 实现: