• Publicidad

Ayuda con OO

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Ayuda con OO

Notapor creating021 » 2006-05-22 17:34 @773

Hola.
Bueno tengo esto:
Código: Seleccionar todo
sub New {
  my ($pkg, $name) = @_;
  my $self = {};
  $self->{Pkg} = $pkg;
  $self->{Name} = $name;
  bless($self, $self->{Pkg});
  return $self;
}

Ahí no hay problema, el sub esta en un package, pero despues, en el mismo módulo, quiero modificar el objeto en un sub diferente.
¿Cómo hago eso?
Gracias.
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Publicidad

Notapor monoswim » 2006-05-22 20:20 @889

Cuando creas un objeto y luego llamas a una función del mismo package el primer valor que SIEMPRE se enviará es el objeto...

De modo que puedes crear una función:
Código: Seleccionar todo
sub cambia {
    $self = shift;
    $self->{Name} = 'esteban';
}

Al llamar a esa función $objeto->cambia(); te cambiará el atributo Name a esteban

Espero que te sirva

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor creating021 » 2006-05-23 15:12 @675

Mucha gracias MonoSwim, me sirvio mucho.
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor explorer » 2006-05-23 16:20 @722

JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados