假设我使用以下关系
sub _relation {
+{
player1 => 0,
player2 => 1,
player3 => 0,
},
;
}
- 我应该如何打印或提取“player1”?
- 我应该如何打印或提取与“player2”相关的值?
- 这是一种什么样的数据结构?只是一个哈希?没有声明
假设我使用以下关系
sub _relation {
+{
player1 => 0,
player2 => 1,
player3 => 0,
},
;
}
该子例程返回一个散列引用(指向散列的指针)。以这种方式使用的花括号构造一个匿名散列并返回对它的引用。
假设您像这样调用子例程:
my $results = _relation();
->
您将使用取消引用运算符访问元素:
$results->{player1} # 0
$results->{player2} # 1
如果您想将匿名哈希复制到一个命名哈希中,您可以使用
my %regular_hash = %$results;
有关更多信息,请参阅Perl 参考教程。
弗里多的答案是正确的。在尝试理解数据结构时,使用 Data::Dumper 会很有帮助。
use Data::Dumper;
print Dumper(_relation());
输出中的 {} 显示这是一个匿名哈希:
$VAR1 = {
'player3' => 0,
'player2' => 1,
'player1' => 0
};