develooper Front page | perl.perl6.users | Postings from June 2019

Re: replace s///r ?

Thread Previous
From:
yary
Date:
June 11, 2019 06:06
Subject:
Re: replace s///r ?
Message ID:
CAG2CFAYFZOLL5_8_ZWqdDEJTdvKn8SCUbpVJQd0P6qViGStXxA@mail.gmail.com
Though, it's an odd use of s///r in p5 and subst in p6, when all it is
doing is prepending a string!

 .say for (325, '44a', 555, 6).grep(/^\d+$/).map( '4' ~ * )


-y

On Mon, Jun 10, 2019 at 11:01 PM yary <not.com@gmail.com> wrote:
>
> Or if you need to "map" the substitution
>
> .say for (325, '44a', 555, 6).grep(/^\d+$/).map( *.subst(/^/,4) )
>
>
> -y
>
> On Mon, Jun 10, 2019 at 10:54 PM yary <not.com@gmail.com> wrote:
> >
> > p6 can transliterate from p5 rather literally
> >
> > say .subst(/^/,4) for grep /^\d+$/, (325, '44a', 555, 6);
> >
> >
> >
> > -y
> >
> > -y
> >
> >
> > On Mon, Jun 10, 2019 at 9:19 PM Marc Chantreux
> > <marc.chantreux@renater.fr> wrote:
> > >
> > > hello people,
> > >
> > > in perl5, i can
> > >
> > >         print for
> > >             map  s/^/4/r,
> > >             grep /^\d+$/,
> > >             <ARGV>
> > >
> > > the perl6 version is a Seq, so much more memory friendly
> > > but i expected (and haven't found in the documentation)
> > > a short equivalent of s///r so the shorter i have is:
> > >
> > >     $*ARGFILES
> > >      . lines
> > >      . grep( / ^ <digit>+ $ / )
> > >      .  map( *.subst(/^/," * ") )
> > >      .  map(&other-things-to-do)
> > >      .  map(&say)
> > >
> > > when, of course, i want to replace
> > >
> > >      .  map( *.subst(/^/," * ") )
> > >
> > > by something like
> > >
> > >      .  map( s:r/^/* / )
> > >
> > > any idea?
> > >
> > > regards
> > > marc

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About