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?

¿Fue útil?

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
scroll top