1) why is it a "method" and not a "function"?

methods are all on instance of a Class (or Role) they can locally access
the instances data via self or $ or ... see below.

1-1/2) why is there a color after a$?  What happens to $a?

You can as an extra option give your instance object a different name, you
seperate that from the rest of the args with a :

2) What is an "invocant"?  Does it mean I can access it
    by placing it after something with a dot?  Sort of
    like
         contains("abc", "b")
         "abc".contians("b")

The incovant is the object you invoke the method on. It's the thing that
gets assigned to self, $ (and whatever else you want to call it)

3) What makes the "invocant" special over the other second
    and third parameters?

See about

 > class Foo {

4) I see no class called "Foo" over on
    https://docs.perl6.org/type.html

That's a class being defined for this example

5) Are they creating a new class?  If so, why?

To make an example

 >    method whoami($me:) {

6) where is @b and %c?

In this case thet aren't being passed.


 >        "Well I'm class $me.^name(), of course!"

7) why is there a caret in front of "name"?

There are certain Meta Object methods that are access with a ^ infront of
the name. I'd need to check the exact definition though.

Please note the Perl5 docs have had decades of people working on them the
Perl6 ones.... less so. There's bound to be some difference in scope.

On Tue, 11 Sep 2018 at 12:11 ToddAndMargo <toddandma...@zoho.com> wrote:

> On 09/11/2018 03:30 AM, JJ Merelo wrote:
> > Also, "is no help whatsoever" is no help whatsoever. Saying what part of
> > it is not clear enough, or could be explained better, is.
> >
>
> Well now,
>
>  >  method ($a: @b, %c) {};       # first argument is the invocant
>
> 1) why is it a "method" and not a "function"?
>
> 1-1/2) why is there a color after a$?  What happens to $a?
>
> 2) What is an "invocant"?  Does it mean I can access it
>     by placing it after something with a dot?  Sort of
>     like
>          contains("abc", "b")
>          "abc".contians("b")
>
> 3) What makes the "invocant" special over the other second
>     and third parameters?
>
>  > class Foo {
>
> 4) I see no class called "Foo" over on
>     https://docs.perl6.org/type.html
>
> 5) Are they creating a new class?  If so, why?
>
>  >    method whoami($me:) {
>
> 6) where is @b and %c?
>
>  >        "Well I'm class $me.^name(), of course!"
>
> 7) why is there a caret in front of "name"?
>
>  >    }
>  >  }
>  >
>  >
>  >  say Foo.whoami; # OUTPUT: «Well I'm class Foo, of course!␤»
>
> 8) no clue how they got there
>
>
> JJ, have you ever used Perl 5's perldocs?  They are a bazillion
> times easier to understand than Perl 6's.
>
> Thank you for the help with this?
>
> -T
>
-- 
Simon Proctor
Cognoscite aliquid novum cotidie

Reply via email to