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

Reply via email to