Hi Yary, I went over this with Joe as well, and I was equally confused. So if I understand what you're saying correctly, if we see something like "Bool :$match" that says we should drop the dollar-sign ($) and enter ":match" to set "Bool" = True, and thus return the list of match objects?
On another note (or possibly the same note), I tried code similar to Joe's with fair success. I was able to get the REPL to understand a "True" or "False" parameter, but never in conjunction with a "$limit" parameter. Is this the correct behaviour, and why? > #REPL Nil > say comb(/\w/, "a;b;c", False).perl; ().Seq > say comb(/\w/, "a;b;c", True).perl; ("a",).Seq > say comb(/\w+/, "a;b;c", True).perl; ("a",).Seq > say comb(/\w+/, "a;b;c", 2).perl; ("a", "b").Seq > say comb(/\w+/, "a;b;c", 3).perl; ("a", "b", "c").Seq > say comb(/\w+/, "a;b;c", 4).perl; ("a", "b", "c").Seq > say comb(/\w+/, "a;b;c", True).perl; ("a",).Seq > say comb(/\w+/, "a;b;c", 2, True).perl; Too many positionals passed; expected 2 or 3 arguments but got 4 in block <unit> at <unknown file> line 1 > say comb(/\w+/, "a;b;c", 2, :True).perl; Unexpected named argument 'True' passed in block <unit> at <unknown file> line 1 > $*VM moar (2019.07.1) Any help appreciated, Bill. On Mon, Nov 11, 2019 at 9:46 AM yary <not....@gmail.com> wrote: > > The syntax is in the declaration you pasted in your email > > > multi sub comb(Regex:D $matcher, Str:D $input, $limit = Inf, Bool > > :$match) > > The colon in "Bool :$match" makes it a named argument. Not sure where > definitive docs are, decent starting point is > https://docs.perl6.org/type/Signature#Positional_vs._named_arguments > > > -y > > > On Sun, Nov 10, 2019 at 11:18 PM Joseph Brenner <doom...@gmail.com> wrote: >> >> Thanks, that form does what I want-- >> >> I don't see how I could've understood that from the docs, though. >> For example, I don't see any place where the :match adverb is >> mentioned for either the method or routine form of comb. >> >> >> >> On 11/10/19, Elizabeth Mattijsen <l...@dijkmat.nl> wrote: >> > dd "foobar".comb(/./, :g, :match); >> > (「f」 「o」 「o」 「b」 「a」 「r」) >> > >> >> On 10 Nov 2019, at 23:46, Joseph Brenner <doom...@gmail.com> wrote: >> >> >> >> Can someone give me an example of how to use the comb routine to >> >> return a list of match objects? >> >> >> >> The documentation here: >> >> >> >> https://docs.perl6.org/type/Str#routine_comb >> >> >> >> Mentions a boolean option to get match objects: >> >> >> >>> If $matcher is a Regex, each Match object is >> >>> converted to a Str, unless $match is set. >> >> >> >> I gather that I must be reading this signature >> >> wrong somehow, I can't get it to work: >> >> >> >>> multi sub comb(Regex:D $matcher, Str:D $input, $limit = Inf, Bool >> >>> :$match) >> >> >> >> I keep trying variations of things like this: >> >> >> >> my @hits = comb(m/$search_pattern/, $chunk, 100, True); >> >