假設我用,比如,下面的關係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
};