On Fri Sep 18 21:06:23 2009, carlin wrote:
> The variable declaration should fail with an informative error message
> rather than silently not assigning it (unless that is supposed to be
> possible?)
>
> > class foo { method bar { my $!baz = 'lorem'; say $!baz; }; };
> foo.bar;
> No such attribute '$!baz'
> in method foo::bar (<unknown>:1)
>
> > class foo { has $!baz = 'ipsum'; method bar { my $!baz = 'lorem';
> say $!baz; }; }; my $foo = foo.new; $foo.bar;
> ipsum
>
> > class foo { has $!baz; method bar { my $!baz = 'lorem'; say $!baz;
> }; }; my $foo = foo.new; $foo.bar;
> Use of uninitialized value
>
> --
> Carlin
These now all fail similarly;
08:53 < [Coke]> rakudo: class foo { method bar { my $!baz = 'lorem'; say $!baz;
}; };
08:54 <+p6eval> rakudo 9719f7: OUTPUT«===SORRY!===Cannot use ! twigil on my
variable at line 1, near " = 'lorem'"»
08:54 < [Coke]> rakudo: class foo { has $!baz = 'ipsum'; method bar { my $!baz
= 'lorem';say $!baz; }; }; my $foo = foo.new; $foo.bar;
08:54 <+p6eval> rakudo 9719f7: OUTPUT«===SORRY!===Cannot use ! twigil on my
variable at line 1, near " = 'lorem'"»
08:53 < [Coke]> rakudo: class foo { has $!baz; method bar { my $!baz = 'lorem';
say $!baz; }; }; my $foo = foo.new; $foo.bar;
08:53 <+p6eval> rakudo 9719f7: OUTPUT«===SORRY!===Cannot use ! twigil on my
variable at line 1, near " = 'lorem'"»
... closable with tests.
--
Will "Coke" Coleda