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