Ok,
I've read SYN-04 Phasers and I think I should use INIT {} or END {}
Are there any situations INIT {} / END {} will not postpone execution?
Because in my case it is still executed during compilation
https://github.com/teodozjan/lacuna-cookbuk/tree/init_problems
On Sun, Jun 15, 2014 at 12:45 PM, Moritz Lenz <[email protected]> wrote:
> Hi,
>
> class and role bodies are executed at compile time, so yes, that's
> expected. The same thing happens in BEGIN blocks.
>
> (Actually, the case with roles is more complicated; iirc their bodies
> are executed at role application time, but in your example, 'class B
> does Xx' runs at compile time, so the two are roughly equivalent).
>
> Cheers,
> Moritz
>
> On 06/15/2014 02:31 AM, Kamil Kułaga wrote:
>> Hi,
>>
>> I got amazed little bit when this code:
>> class A {
>> method wow{say "I'm alive"}
>> }
>>
>> role Xx{
>> my $th = A.wow;
>> }
>>
>>
>> class B does Xx {
>> }
>>
>> Started to live during compilation (also tried with ufo):
>>
>> $ perl6 -o o.pir funnyrole.pl
>> I'm alive
>>
>>
>> Is this expected or subject to change?
>>
--
Pozdrawiam
Kamil Kułaga