On Tue, Oct 10, 2006 at 01:31:59PM -0700, Ovid wrote:
> Hi all,
> 
> In doing a bit of work with traits (roles) in Perl 5
> (http://perlmonks.org/?node_id=577477), I've realized some edge cases
> which could be problematic.
> 
> First, when a role is applied to a class at runtime, a instance of that
> class in another scope may specifically *not* want that role.

I always thought when a role is applied to a class at runtime you
get a new (anonymous) subclass. The original class isn't affected.

Tim.

> Is there
> a way of restricting a role to a particular lexical scope short of
> merely applying that role to instances instead of classes?
> 
> Second, how can I remove roles from classes?  I've create some code
> which adds an "is_selected" method to some classes but when I'm done,
> I'd like top easily remove that role.  How do I do that?  Seems closely
> related to my first question, but it's still a distinct issue, I think.
> 
> Third, http://dev.perl.org/perl6/doc/design/syn/S12.html says:
> 
>   You can also mixin a precomposed set of roles:
> 
>     $fido does Sentry | Tricks | TailChasing | Scratch;
> 
> Should that be the following?
> 
>     $fido does Sentry & Tricks & TailChasing & Scratch;
> 
> Cheers,
> Ovid
> 
> --
> 
> Buy the book -- http://www.oreilly.com/catalog/perlhks/
> Perl and CGI -- http://users.easystreet.com/ovid/cgi_course/

Reply via email to