On Thu, 2002-05-09 at 12:37, David Wheeler wrote:
> On 5/8/02 1:24 PM, "Damian Conway" <[EMAIL PROTECTED]> claimed:
> 
> > Yes.
> > 
> > If you write:
> > 
> > class Foo {
> > my $.bar;
> > my $.baz is public;
> > ... 
> > }
> > 
> > you get a private C<.bar()> accessor and a public C<.baz> accessor.
> 
> What if I want my methods to be called C<.get_bar()> and C<.set_bar()>,
> since a certain Perl OO specialist suggests this approach is best for
> avoiding ambiguity in one's API?

Then you can declare them as such:

    sub get_bar() { .bar }
    sub get_baz() { .baz }
    sub set_baz($newbaz) { .baz = $newbaz }

I suppose there could be some magic like:

    class Foo is accessedby('get_','','r')
          is accessedby('set_','','rw') { ... }

To declare that Foo has accessors with prefix "get_" and no suffix for
read-only acces and prefix "set_" and no suffix for read/write access.

But, I'm not sure how valuable this would be....


Reply via email to