Honestly I would advise against using ==> at the moment. For one thing it doesn't even work like it is intended. Each side of it is supposed to act like a separate process.
There are also issues with the syntax that are LTA. The fact that you have to tell it the left side is actually a list is one such issue. It isn't even all that clearer than just using a method call > %a<column1> .map({.sqrt}); --- Using 「.Slip」 or 「|」 prefix works, but is the wrong thing. You need to tell it that it is a list, so use 「.List」 or 「@(…)」 > @(%a<column1>) ==> map({.sqrt}) > %a<column1>.List ==> map({.sqrt}) Since a Slip is a type of List, using it works, but for the wrong reasons. On Wed, Jul 14, 2021 at 2:58 PM Aureliano Guedes <guedes.aureli...@gmail.com> wrote: > thank > > It is now more clear. > And I like this notation |%a<column1> ==> map({.sqrt}); > less is more sometimes > > > > On Wed, Jul 14, 2021 at 4:41 PM Daniel Sockwell <dan...@codesections.com> > wrote: > >> To expand slightly on what Clifton said, the reason that >> >> > %a<column3> = %a<column1>.map: { .sqrt }; >> > # (1 1.4142135623730951 1.7320508075688772 2 2.23606797749979) >> >> does what you mean but >> >> > %a{'column1'} ==> map( { .sqrt } ) >> > # (2.23606797749979) >> >> does not is that the method .map maps over *each item* in the Array, >> whereas >> ==> map maps over the Array as *one collection*. When taking the square >> root, >> an Array needs to be treated as an number, which for Raku means treating >> it as >> a count of how many elements it has (i.e., its length). >> >> So `%a{'column1'} ==> map({.sqrt})` is the same as >> `%a{'column1'}.elems.map({.sqrt})` >> >> If want to map over each item in the Array when using the ==> operator, >> you need to >> slip the items out of the Array before feeding them on. You can do that >> with either >> of the following (equivalent) lines: >> >> > %a{'column1'}.Slip ==> map({.sqrt}); >> > |%a{'column1>'}==> map({.sqrt}); >> >> (Also, you may already know this, but when the keys of your hash are >> strings, you >> can write %a<column1> instead of %a{'column1'} ) >> >> Hope that helps! >> >> –codesections >> > > > -- > Aureliano Guedes > skype: aureliano.guedes > contato: (11) 94292-6110 > whatsapp +5511942926110 >