2010-11-03 30 views
0

的想法是實現一個類,得到[陣列,主題::輸送機隊列和其他的東西在一個TIEHASH構造的列表,的Perl:引用/祝福問題

use AbstractHash; 
tie(%DATA, 'AbstractHash', \@a1, \@a2, \$tcq); 

什麼是正確的方法傳遞對象引用(如提到的Thread::Conveyor對象),從而將數組引用到構造函數中,以便它可以訪問對象?任何情況下,通過的對象應該是有福的?

+0

你嘗試包括你的代碼示例?你有沒有得到期望的結果? – Ether 2010-11-03 00:49:57

+1

而且,如果一個對象沒有被祝福會是什麼? :) – Ether 2010-11-03 00:50:23

+1

@Ether只是一個該死的值? – 2010-11-03 04:36:11

回答

1

據我所知,物體不是物體,除非它們是bless -ed。

也就是說,構造函數的參數,簡直是Thread::Conveyor對象的數組引用:

my $data = AbstractHash->tie (\@a1, \@a2, \$tcq); 

在構造函數中AbstractHash包中定義:

sub tie { 

    my $class = shift; # Implicit variable, don't forget 

    my $data = { 
       someArray => +shift, 
       queues => +shift, 
       someValue => +shift, 
       }; 

    # $data starts life as a hashref, make it an 'AbstractHash' 

    bless $data, $class; # $data is no longer a hashref 
    return $data;  # AbstractHash object returned 
}