hashref 的控制顺序 YAML::XS
Control order of hashref with YAML::XS
我正在使用 YAML::XS
库将数据结构转储到 YAML:
foo => {
bar => [
{...},
{...},
],
baz => [
{...},
{...},
],
...
}
似乎 YAML::XS 的默认行为是在转储之前对键进行排序,但这不是我想要的。人们将不得不阅读和编辑该脚本的输出,因此可读性是一个问题。有没有办法控制密钥被转储出来的顺序,以便 foo->{baz}
在 foo->{bar}
之前出现?
从docs可以看出,没有配置哈希顺序的选项。通过查看 LibYAML/perl_libyaml.c
中的 dump_node
和 dump_hash
进一步证实了这一点。
我正在使用 YAML::XS
库将数据结构转储到 YAML:
foo => {
bar => [
{...},
{...},
],
baz => [
{...},
{...},
],
...
}
似乎 YAML::XS 的默认行为是在转储之前对键进行排序,但这不是我想要的。人们将不得不阅读和编辑该脚本的输出,因此可读性是一个问题。有没有办法控制密钥被转储出来的顺序,以便 foo->{baz}
在 foo->{bar}
之前出现?
从docs可以看出,没有配置哈希顺序的选项。通过查看 LibYAML/perl_libyaml.c
中的 dump_node
和 dump_hash
进一步证实了这一点。