gpt4 book ai didi

Perl 哈希值 : $hash{key} vs $hash->{key}

转载 作者:行者123 更新时间:2023-12-03 16:10:44 24 4
gpt4 key购买 nike

Perl newb 在这里,抱歉问了一个愚蠢的问题,但谷歌搜索 ->对于编码上下文很难......有时,我会访问这样的哈希:$hash{key}有时这不起作用,所以我像这样访问它 $hash->{key} .这里发生了什么?为什么它有时以一种方式工作而不是另一种方式?

最佳答案

不同的是在第一种情况下%hash是一个散列,在第二种情况下,$hash是对哈希的引用(= 哈希引用),因此您需要不同的符号。在第二种情况下 ->取消引用 $hash .
示例:

# %hash is a hash:
my %hash = ( key1 => 'val1', key2 => 'val2');

# Print 'val1' (hash value for key 'key1'):
print $hash{key1};

# $hash_ref is a reference to a hash:
my $hash_ref = \%hash;

# Print 'val1' (hash value for key 'key1', where the hash
# in pointed to by the reference $hash_ref):
print $hash_ref->{key1};

# A copy of %hash, made using dereferencing:
my %hash2 = %{$hash_ref}

# $hash_ref is an anonymous hash (no need for %hash).
# Note the { curly braces } :
my $hash_ref = { key1 => 'val1', key2 => 'val2' };

# Access the value of anonymous hash similarly to the above $hash_ref:
# Print 'val1':
print $hash_ref->{key1};
另见:
解释: https://perldoc.perl.org/perlreftut.html

关于Perl 哈希值 : $hash{key} vs $hash->{key},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63310832/

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