Hi El dom., 30 sept. 2018 a las 11:18, ToddAndMargo (<toddandma...@zoho.com>) escribió:
> On 9/30/18 1:21 AM, JJ Merelo wrote: > > > > > > El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via perl6-users > > (<perl6-us...@perl.org <mailto:perl6-us...@perl.org>>) escribió: > > > > the words method is extracting items from an input string. The > > $limit parameter tells the words method to extract not more than > > $limit items from the string. Setting the default to Inf only tells > > the method to extract as many items as it can from the input (i.e. > > to process the whole string), without any limit. But since the input > > string cannot be infinite, the number of items will also not be > > infinite. So, the Inf default for $limit just states that there is > > no limit, but you'll never get an infinity of items from a > > non-infinite string. > > > > > > There's no Inf default now in the definition (after latest code > > changes), and it's been changed in the documentation accordingly. It's > > left in the examples, however (since that "default" is in the code too, > > and is tested in roast), but that can be eliminated if it leads to > > confusion. > > > > Cheers > > > > JJ > > > Hi JJ, > > I am confused. I thought that > > $limit = Inf > used in > > multi method words(Str:D $input: $limit = Inf --> Seq) > meant that the default was "Inf" > It's not now: https://docs.perl6.org/routine/words#class_Str > > Also, it is not stated that $limit is optional. I would > propose adding a "?" to the end of $limit: > > multi method words(Str:D $input : $limit? = Inf --> Seq) > That's not how it's defined. There are two forms in the method, which effectively could be resumed to a single one method words(Str:D: $limit?) But that's simply not how it's defined in the source. The fact that there are two multis indicate quite clearly that $limit is optional, but if that's not enough, the examples should clarify that. Cheers -- JJ