develooper Front page | perl.perl6.users | Postings from October 2018

Re: augment again

Thread Previous | Thread Next
From:
Elizabeth Mattijsen
Date:
October 19, 2018 10:24
Subject:
Re: augment again
Message ID:
F625E4AF-CE33-42F5-90A6-C3AFE5EA4FE2@dijkmat.nl
See also: https://stackoverflow.com/questions/52718499/how-to-correctly-augment-any

> On 19 Oct 2018, at 03:52, Joseph Brenner <doomvox@gmail.com> wrote:
> 
> I've got another question about aug--yes, I know--ment.
> 
> I've got a module ides_of_augment.pm6:
> 
>  use MONKEY-TYPING;
>  augment class Any {
>      method hiccup {
>          say "hic!";
>      }
>  }
> 
> I would've thought it could be used in the repl like this:
> 
>  perl6 -Mides_of_augment
> 
>> (Any).hiccup
>  hic!
>> my @a=< a b c d >;
>  [a b c d]
>> @a.hiccup
>  No such method 'hiccup' for invocant of type 'Array'. Did you mean 'hiccup'?
>    in block <unit> at <unknown file> line 1
> 
> As you can see, it kind-of augments the Any class, but evidently
> does it too late to (completely) change an instance of Array.
> 
> I tried a few things like "BEGIN augment" or "INIT augment"
> without any luck.
> 
> Any suggestions (besides "don't do it")?

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About