Re: RFC 171 (v1) my Dog $spot should call a constructor implicitly

[email protected] (Nathan Wiger)
Newsgroups perl.perl6.language.objects
Message-ID <[email protected]>
Piers Cawley wrote:
> 
> Eeeewwwwww. Most of the time I use 'my Dog $spot' is along the lines
> of:
> 
>     my Dog $spot = Dog::Dalmation->new(name => 'Spot');
>     $spot->bark;

No problem, that still works, according to the RFC...

>    sub bark {
>        my Dog $self = shift;
>        print $self->name, " barks!\n";
>    }

Here I guess I miss the point of the Dog inside the bark() sub? It seems
unnecessary to me. Maybe a better example of what you're trying to get
at?
 
> There's a whole host of occasions when you want 'my Dog $spot' but you
> *don't* want $spot to be set to Dog->new.

Well, I think the actual method name would be CREATE. So you could have
either a new(), or a CREATE(), or both. Use whichever one you want, no
sweat.

The default core CREATE would simply instantiate a variable, which would
then get set via Dog::Dalmation->new.

-Nate
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.