gpt4 book ai didi

linux - 为什么哈希值被打印两次

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:43:08 25 4
gpt4 key购买 nike

问题

哈希值在 for(each) 循环中打印两次。


代码

use strict;
use warnings;

my %Hash;

my $x=1;

foreach my $item( 1..9 ) {
$Hash{$x} = $x;
print scalar keys %Hash,",$item,",$x++,"\n"
}
$x=1;
foreach my $iteml( %Hash){
print $x++,"\n";
print "||||$iteml------$Hash{$iteml}||||\n";
}

print "@{[%Hash]}\n";

输出

1,1,1
2,2,2
3,3,3
4,4,4
5,5,5
6,6,6
7,7,7
8,8,8
9,9,9
1
||||6------6||||
2
||||6------6||||
3
||||3------3||||
4
||||3------3||||
5
||||7------7||||
6
||||7------7||||
7
||||9------9||||
8
||||9------9||||
9
||||2------2||||
10
||||2------2||||
11
||||8------8||||
12
||||8------8||||
13
||||1------1||||
14
||||1------1||||
15
||||4------4||||
16
||||4------4||||
17
||||5------5||||
18
||||5------5||||
6 6 3 3 7 7 9 9 2 2 8 8 1 1 4 4 5 5

问题

为什么会这样?


版本

v5.10.0 built for x86_64-linux-thread-multi

最佳答案

首先,您迭代哈希 本身,(%Hash)。所以你得到键和值,列表。

有趣的是散列具有相同的键和值。所以它打印键和它的值,这是相同的。然后它打印值,然后将其用作键......这是一个有效的键,并且具有相同的值。所以看起来它打印了两次 :)

关于linux - 为什么哈希值被打印两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39870061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com