Perl: Referencia / pregunta bendición
-
28-09-2019 - |
Pregunta
La idea es implementar una clase que obtiene una lista de [matrices, Hilo :: colas transportadoras y otras cosas] en un constructor TIEHASH,
use AbstractHash;
tie(%DATA, 'AbstractHash', \@a1, \@a2, \$tcq);
¿Qué es una forma correcta de pasar referencias a objetos (como se mencionó Tema :: Transportadores objetos) por lo tanto las referencias de la matriz en el constructor, por lo que puede acceder a los objetos? Los casos cuando un objeto pasado serían benditas?
Solución
Por lo que yo puedo decir, objetos que no son objetos a menos que sean bless
-ed.
Dicho esto, el argumento del constructor simplemente sería un arrayref de objetos Thread::Conveyor
:
my $data = AbstractHash->tie ( \@a1, \@a2, \$tcq );
donde el constructor se define en el paquete 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
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow