gpt4 book ai didi

perl - 有一个 perl 散列是什么意思{}{}

转载 作者:行者123 更新时间:2023-12-02 15:29:37 27 4
gpt4 key购买 nike

我的教授在幻灯片上有一些我不理解的语法。

在 perl 中有:

$hash{$string}{$anotherString}++;

这个语法是什么意思?如果是:

$hash{$string}{$int}++;

会增加值(value)吗?当我打印时使用

while( my( $key, $value ) = each %hash ){print "$key: $value\n";}

我的输出是 “ key ”:哈希(0xbe0200)

最佳答案

那是一个二维哈希,一个哈希的哈希。一旦您意识到任何单个值实际上都是标量,就很容易在 Perl 中跟踪结构。在多维结构的情况下,标量值是一个引用。例如:

my %outer = ( "foo" => { "bar" => 1 } );

内部 { "bar"=> 1 } 是哈希引用。在赋值中使用 { } 表示匿名散列。这类似于:

my %inner = ( "bar" => 1 );
my %outer = ( "foo" => \%inner );

现在当你想引用 %inner 中的值时,你使用第一个键访问哈希引用,第二个键访问 %inner 中的值>:

print $outer{"foo"}{"bar"};  # prints 1

当你使用 increment operator ++在一个值上,它是递增的:

$outer{"foo"}{"bar"}++;      # the value is now 2

关于perl - 有一个 perl 散列是什么意思{}{},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517196/

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