假设我用,比如,下面的关系Perl:数据结构,这是一个散列吗?
sub _relation {
+{
player1 => 0,
player2 => 1,
player3 => 0,
},
;
}
- 我应该如何打印或提取 “PLAYER1”?
- 我应该如何打印或提取与“player2”相关联的值?
- 这是什么样的数据结构?只是一个哈希?没有声明
假设我用,比如,下面的关系Perl:数据结构,这是一个散列吗?
sub _relation {
+{
player1 => 0,
player2 => 1,
player3 => 0,
},
;
}
这个子程序返回哈希参考(指向一个哈希值。)在这种方式下使用大括号构建一个匿名的哈希,并返回对它的引用。
假设你调用子程序是这样的:如果你想匿名哈希复制到一个名为
$results->{player1} # 0
$results->{player2} # 1
:
my $results = _relation();
你会访问使用->
对其操作的元素,您可以立即解除整个事件的处理
my %regular_hash = %$results;
有关更多信息,请参阅Perl References Tutorial。
friedo的回答是正确的。当试图理解数据结构时,使用Data :: Dumper会很有帮助。
use Data::Dumper;
print Dumper(_relation());
的{}的输出显示,这是一个匿名散列:
$VAR1 = {
'player3' => 0,
'player2' => 1,
'player1' => 0
};