I finally registered on this site after looking for some ideas about how to automagically generate accessors. I had spent a whole day trying to get Class::MakeMethods do what it is supposed to do, especially in relation to arrays.
See perl doesn't have a standard way of dealing with accessors and I've never liked the common $foo->bar, $foo->bar('some value') type of accessors. I like "Afforability Accessors", so $foo->get_bar and $foo->set_bar('some value'). I was encouraged by Damian Conway's view that best practice is to use get_ and set_. Yippee!
So I gave up on Class::MakeMethods and decided to play with Class::Accessor. Wow! What a module! It is simple and it does what it says on the package. It is even easy to change the way that 'get' and 'set' work.
Which brings me to another point. In perl people write setters that return the value being set. Surely, it would be better to return the object, because that way it is easy to chain accessors.
chaining (Score:2)
@JAPH = qw(Hacker Perl Another Just);
print reverse @JAPH;
Re:chaining (Score:1)
Re:chaining (Score:1)
Good point!
But it sort of sounds like an argument for design by contract.
Oh btw, thanks to the two so far who have left a comments on my first over post! :)
Re:chaining (Score:1)
Chaining Accessors (Score:2)
Re:Chaining Accessors (Score:1)
Thanks perfect!
I haven't made up my mind whether accessors that return the object are such a good idea. Say, for example, you have some basic code:
What should make_foo_value return? If it returns $self, then you need to go:
On the other hand, if