[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