That's because it at one time was decided that smart-match would set $/ in the 
caller's scope.  Which is a pain for implementation and optimizations.  I would 
be very much in favour of getting rid of that "feature", fwiw.

> On 28 Dec 2022, at 18:45, Sean McAfee <eef...@gmail.com> wrote:
> 
> But if a sequence has its own $/, why does * ~~ /9/ set $/?
> 
> Actually it's not just sequences, as a little more experimentation showed:
> 
> [0] > first /9/, ^Inf
> 9
> [1] > $/
> Nil
> [2] > grep /9/, ^10
> (9)
> [3] > $/
> Nil
> 
> The * ~~ "trick" sets $/ in these cases too.
> 
> 
> On Wed, Dec 28, 2022 at 12:01 PM Elizabeth Mattijsen <l...@dijkmat.nl> wrote:
> This isn't specific to the REPL:
> 
> $ raku -e 'say 1 ... /9/; say $/'
> (1 2 3 4 5 6 7 8 9)
> Nil
> 
> I can only assume that the sequence has its own scope for $/, and thus isn't 
> visible outside of it.
> 
> 
> Liz
> 
> > On 28 Dec 2022, at 16:47, Sean McAfee <eef...@gmail.com> wrote:
> > 
> > In a fresh 2022.12 Raku REPL, when the endpoint of a sequence is a Regex, 
> > the $/ variable seems not to be set:
> > 
> > [0] > 1 ... /9/
> > (1 2 3 4 5 6 7 8 9)
> > [1] > $/
> > Nil
> > 
> > If I match more explicitly using a WhateverCode, it works:
> > 
> > [2] > 1 ... * ~~ /9/
> > (1 2 3 4 5 6 7 8 9)
> > [3] > $/
> > 「9」
> > 
> > Is this the intended behavior, or a bug?
> > 
> 

Reply via email to