On 09/14/2018 07:48 PM, Brad Gilbert wrote:
On Fri, Sep 14, 2018 at 6:03 PM ToddAndMargo <toddandma...@zoho.com> wrote:
On Fri, Sep 14, 2018 at 6:47 PM ToddAndMargo <toddandma...@zoho.com
Can a method be given multiple inputs?
( $a, $b ).foo
and how would the docs write it?
method foo(Any:D Any:D: -->Bool)
Is there a comma or a space between the two "any"'s?
On 09/14/2018 03:52 PM, Brandon Allbery wrote:
In that case, you're not giving it two items; you are giving it a single
List that happens to have two items within it. A method has one
invocant. If you are invoking method foo on that, its invocant is a List.
> my $a; my $b; say ($a, $b).^name
Makes sense. () turns it into a "List" so it
can be passed as one.
No () doesn't turn it into a list.
The comma turns it into a list
The () just act as a way to textually encapsulate the list
(42).^name; # Int
(42, ).^name; # List
This is a very important distinction.
[[]].perl(); # 
[[,],].perl(); # [[,],]
(((42))).perl(); # 42
(((42,),),).perl(); # (((42,),),)
Yesterday it worked.
Today it is not working.
Windows is like that.