[vienna.pm] Aufruf namentlich bekannter Methoden

Thomas Klausner domm at zsi.at
Tue May 21 16:25:21 CDT 2002


* * * vienna-pm-list * * *


Hi!

On Tue, May 21, 2002 at 10:36:59PM +0200, Peter J. Holzer wrote:
> Angenommen, ich habe eine Klasse mit vielen Getter/Setter-Methoden, und
> möchte jetzt viele davon aufrufen. 
> 	print "$label: ", eval "\$f->$method", "\n";
> aber daß ich da den Methodenaufruf in einem String zusammenbasteln und
> dann eval'uieren muss, stört mich rein ästhetisch und könnte bei manchen
> Applikationen auch negative Auswirkungen auf die Performance haben. 
> 
> Hat jemand eine bessere Idee?
An sich geht das auch einfach mit 
$f->$method
also ohne eval und String-basteln, zB:

#!/usr/bin/perl -w
use strict;
package test;
my $t=bless {},__PACKAGE__;

foreach (qw(a b c)) {
    print $t->$_;
}
    
sub a { "a" }
sub b { "b" }
sub c { "c" }

__END__
BTW, den foreach kann man natuerlich auch etwas leserlicher schreiben: 
foreach my $method (qw(a b c)) {
    print $t->$method;
}



-- 
 D_OMM      +---->  http://domm.zsi.at <-----+
 O_xyderkes |       neu:  Arbeitsplatz       |   
 M_echanen  | http://domm.zsi.at/d/d162.html |
 M_asteuei  +--------------------------------+


###
You are subscribed to vienna-pm-list as Thomas Klausner <domm at zsi.at>
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list