On Mon, Aug 31, 2009 at 02:26:00AM -0700, equinox wrote: > > I found the range contructs do not work properly in rakudo at all times. > > Example: /a ** ..3/ and /a ** 3../
Omitting values from either side of ".." doesn't make a valid range. You probably mean to have /a ** 0..3/ and /a ** 3..*/, both of which are working as expected in Rakudo: 19:40 <pmichaud> rakudo: say 'aaaaa3' ~~ /a ** 0..3/ 19:40 <p6eval> rakudo 4fc254: OUTPUT«aaa» 19:40 <pmichaud> rakudo: say 'aaaaa3' ~~ /a ** 3..*/ 19:41 <p6eval> rakudo 4fc254: OUTPUT«aaaaa» I suspect that /a ** ..3/ is being parsed as /[a ** .] .3/ . This does appear to be how STD.pm would parse it. If so, Rakudo produces the correct answer: 19:41 <pmichaud> rakudo: say 'aaaaa3' ~~ /a ** ..3/ 19:41 <p6eval> rakudo 4fc254: OUTPUT«aaaa3» Similarly, I suspect that STD.pm parses /a ** 3../ as /[a ** 3] ../ . Rakudo currently doesn't like that formulation at all, but I'm going to wait and see if STD.pm changes in response to this ticket before changing anything. Pm