我知道在perl中没有排序哈希.我关心的是我是否可以依赖索引关系出现的键和值.
说我有这个哈希
my %h = ("a" => 1, "b" => 2, "c" => 3, "d" => 4);
Run Code Online (Sandbox Code Playgroud)
如果我这样做keys %h
,我可能会得到
("b", "a", "d", "c")
Run Code Online (Sandbox Code Playgroud)
我能保证values %h
以相同的顺序出现以匹配密钥吗?我可以期待吗?
(2, 1, 4, 3)
Run Code Online (Sandbox Code Playgroud)
或者不能保证keys %h
和之间有任何指数关系values %h
?
amo*_*mon 11
是.只要散列未更改(插入或删除)keys
,values
并且each
将保持相同的顺序:
只要给定的散列未经修改,您可以依赖于键,值和每个重复返回相同的顺序.
- 从
perldoc -f keys
所以你可以安全地复制一个哈希,如:
my %orig = ...;
my %copy;
@copy{keys %orig} = values %orig;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
655 次 |
最近记录: |