in reply to Re^3: Problem with Inheriting a Super Class
in thread Problem with Inheriting a Super Class
Ok, so what is the recommended way of generating accessor/mutator methods? ^This seems to be the prevailing idiom , and I *really* don't want to code them by hand (or write a program that codes them by hand) since very time I add/remove a parameter I'll have to add/remove the accessor.
My first thought, was to set it so it does not ignor the calling class/object like so:
*$datum = sub { my self = shift; $self->{$datum} = shift if @_; return $self->{$datum}; };
This didn't work.
Then, I tried doing this without the self:
*$datum = sub { $self->{$datum} = shift if @_; return $self->{$datum}; };
Again, no change in result.
Then I tried without the reference to self:
*$datum = sub { $datum = shift if @_; return $datum; };
Surprise, this had no affect either.
Then, I tried doing this without the typeglob. (I'm basically pissing into the wind at this point so what do I have to loose)
$datum = sub { my self = shift; $self->{$datum} = shift if @_; return $self->{$datum}; };
Not surprisingly, no change again...
Here's what really stumps me, through all of these changes I would expect to see an error at least, but the program behaves *identically* through all of the changes.
I guess I don't understand what you mean. How do you reference the object without referencing the object? (Which is what $self is right? a reference to the object.)
really, thank you for all of your help.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Problem with Inheriting a Super Class
by chromatic (Archbishop) on Sep 20, 2011 at 05:12 UTC | |
by PyrexKidd (Monk) on Sep 20, 2011 at 20:12 UTC | |
by chromatic (Archbishop) on Sep 20, 2011 at 21:43 UTC | |
|
Re^5: Problem with Inheriting a Super Class
by Anonymous Monk on Sep 20, 2011 at 00:21 UTC |