[Bioperl-l] Auto-method caller proposal
Sendu Bala
bix at sendu.me.uk
Thu Jan 4 10:15:37 UTC 2007
aaron.j.mackey at gsk.com wrote:
> I'm not against this at all, but let's not reinvent a (somewhat-standard)
> wheel: see Class::MethodMaker and accompanying tools.
It would certainly be possible for a module author to make use of
Class::MethodMaker, but from what I can see each module would have to
use Class::MethodMaker itself, leaving them to setup and configure it in
their own way, and still leaving them to handle how user arguments
become method values.
The primary motivation for this proposal is to provide an incredibly
simple and consistent way of turning user args into method values.
Method creation was just an added extra, implemented since the burden
was just a few extra lines of trivial code. I don't see any significant
benefit* of farming out to another class to do that simple thing, only
the disadvantage of adding what would be a third (true) pre-requisite
for Bioperl installation.
>> We can have the nicer:
>>
>> package Bio::Tools::Run::GoodBoy;
>> sub new {
>> my ($class, @args) = @_;
>> my $self = $class->SUPER::new(@args);
>>
>> $self->_set_from_args(\@args,
>> -methods => [qw(id score evalue)]);
>>
>> return $self;
>> }
>> # methods...
>> 1;
[*] The only benefit I see is that Class::MethodMaker lets you create
methods for storing arrays and hashes, not just scalars. But in Bioperl
we don't 'like' auto-created methods, using them primarily for the
simple scalar get/setters needed by run-wrappers where it would be too
tedious to implement them all directly.
More information about the Bioperl-l
mailing list