I would say filing an issue might make sense in this case. Here is a related 
comment from Jonathan: 
https://github.com/rakudo/rakudo/issues/3222#issuecomment-539915286 – and it 
explicitly states that $. is a shortcut for method calling. Therefore, use of 
colon instead of braces should be a valid construct.

Best regards,
Vadim Belman

> On Nov 18, 2019, at 11:40 AM, yary <not....@gmail.com> wrote:
> 
> I take that back! What is the dollar sign doing there in the '$.print: ..." 
> example?
> 
> Try it without the dollar sign. Right now you're calling .print on the 
> anonymous variable '$'
> 
> -y
> 
> 
> On Mon, Nov 18, 2019 at 8:38 AM yary <not....@gmail.com 
> <mailto:not....@gmail.com>> wrote:
> looks like a bug to me-file an issue on the rakudo GitHub
> 
> On Sat, Nov 16, 2019 at 5:29 AM Raymond Dresens <raymond.dres...@gmail.com 
> <mailto:raymond.dres...@gmail.com>> wrote:
> Hello,
> 
> I have a question related to the 'colon syntax' of Raku, which allows
> you to call methods without parenthesis like this:
> 
>     class Foo
>     {
>         method print($x, $y)
>         {
>             say "bar: {$x}, {$y}"
>         }
>     }
> 
>     my $a = Foo.new;
> 
>     $a.print: 3, 5; # ...this is what i mean with "colon syntax" ;)
> 
> It is possible to use this syntax to call methods on 'self' as well:
> 
>     class Bar is Foo
>     {
>         method printDefault
>         {
>             self.print: 8, 12
>         }
>     }
> 
>     my $b = Bar.new;
> 
>     $b.printDefault;
> 
> I use $. rather than 'self' in order to work with attributes inside
> methods in my classes, well, ... mostly, because it does not seem
> possible to do this (in rakudo, at least version 2019.07.1):
> 
>     class Baz is Foo
>     {
>         method printDefault
>         {
>             $.print: 8, 12
>         }
>     }
> 
> This yields a "Confused" error, stating that it expects a so-called
> 'colon pair'.
> 
> Is this intentional? Because I'm kind of confused as well about this,
> 
> I can live with this 'syntactical quirk', but I just keep wondering
> about it because I'd personally expect that this "$.methodname: $args"
> variant should "just work" as well...
> 
> ...so "what gives"? ;)
> 
> Thanks for your insights!
> 
> Regards,
> 
> Raymond.
> -- 
> -y

Reply via email to