perl – 以正确的顺序哈希键和值

前端之家收集整理的这篇文章主要介绍了perl – 以正确的顺序哈希键和值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经多次看到以下一段代码将哈希加入另一个哈希
%hash1 = ('one' => "uno");
%hash2 = ('two' => "dos",'three' => "tres");

@hash1{keys %hash2} = values %hash2;

我认为每次调用“values”或“keys”函数时,它们的输出顺序都是随机的.如果这是真的,那么上面的语句如何以正确的顺序获取双方的键和值?

换句话说,为什么没有机会得到’two’=>合并两个哈希后,%hash1中的’tres’?
Perl是否足够聪明,知道如果在同一行上调用“keys”和“values”,那么键和值必须以相同的顺序给出?

解决方法

perldoc -f keys

So long as a given hash is unmodified you may rely on keys,values and each to repeatedly return the same order as each other.

猜你在找的Perl相关文章