neprime volani metody
Ondra X Dolezal
trifid na redigy.cz
Pátek Září 3 12:05:03 MEST 1999
Zdravim,
mam jeden stylisticky dotaz. Potrebuji v jedne kontejnerove tride
nekolik metod iterujicich nad obsahem, ktere delaji totez az
na volani metody obsahu - napr.
sub Neco::udelej1 { for(...) { $self->obsah->udelej1; } }
sub Neco::udelej2 { for(...) { $self->obsah->udelej2; } }
Nerad bych sel cestou kopirovani kodu, tak jsem vymyslel tohle
- a otazka zni: je to, nebo alespon pripomina to, "oficialni postup"?
A jestli ne, jak lepe? Diky.
use strict qw( &metoda );
package Neco;
sub udelej1 { return shift->udelej('udelej1'); }
sub udelej2 { return shift->udelej('udelej2'); }
sub udelej {
my $self = shift;
local *metoda = \&{ref($self->obsah()).'::'.shift};
return metoda($self->obsah());
}
--
- Ondrej.Dolezal na Redigy.Cz --------------------------------------------
(+420) 603 499 675 REDIGY Nesverova 1 Olomouc
------------------------------------------------ http://www.Redigy.Cz -
Další informace o konferenci Perl