Perl: référencement / question de bénédiction
-
28-09-2019 - |
Question
L'idée est de mettre en œuvre une classe qui obtient une liste de [tableaux, discussion :: files d'attente de convoyeurs et d'autres choses] dans un constructeur TIEHASH,
use AbstractHash;
tie(%DATA, 'AbstractHash', \@a1, \@a2, \$tcq);
Qu'est-ce qu'une bonne façon de passer des références d'objet (comme mentionné objets) ainsi des références de tableau dans le constructeur, il peut accéder aux objets? Tous les cas où doivent être bénies un objet passé?
La solution
Pour autant que je peux dire, les objets ne sont pas des objets à moins qu'ils ne bless
-ed.
Cela dit, l'argument du constructeur serait tout simplement un arrayref d'objets Thread::Conveyor
:
my $data = AbstractHash->tie ( \@a1, \@a2, \$tcq );
où le constructeur est défini dans le package de 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
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow