On Fri Feb 13 06:05:01 2009, jn...@jnthn.net wrote:
> On Sun Dec 07 04:33:27 2008, masak wrote:
> > Moritz (>), Carl (>>):
> > >> Rakudo r33577 responds strangely to the following program:
> > >>
> > >> $ perl6 -e 'my $locator = method { .<here> }; my %h = { here => "foo"
> > >> }; say %h.$locator'
> > >> get_pmc_keyed() not implemented in class 'Undef'
> > >> [...]
> > >>
> > >> I'd expect it to output "foo".
> > >
> > > Is it actually specified that an anonymous method should receive the
> > > invocant as $_? if yes, where?
> > 
> > Yes, here:
> > 
> >  <http://perlcabal.org/syn/S12.html#line_279>
> > 
> That doesn't actually say your example should work. It mentions:
> 
>     $locator = { .<here> }
>     $obj.$locator            # $obj<here>
> 
> Which is a closure, not an anonymous method, and when it does mention
> the anonymous method syntax, it uses self. Plus I don't see anywhere
> else in S12 that it states that the invocant is in $_ by default for a
> method. Asked TimToady to confirm either way, then will either implement
> that if it's meant to be implemented, or reject the ticket (and remove
> the incorrect test) otherwise.
> 
TimToady confirmed that in methods we don't $_ := self by default, so
rejecting this ticket and removed the bad test.

Thanks,

Jonathan

Reply via email to