I like this better for alpha counter raku -e "for (1..4) { say (BEGIN $ = 'AAA')++ }"
with BEGIN, the assignment of AAA happens once. With the earlier ||= it checks each time through the loop. -y On Mon, Aug 31, 2020 at 5:03 PM yary <not....@gmail.com> wrote: > Not even a reset- every time there's a $ by itself it is a new/different > anonymous variable. So it is only useful where it is never referred to > anywhere else. > > $ raku -e "for (1..4) { say $++, ' , ', ++$; say 'again- ',$;}" > > 0 , 1 > > again- (Any) > > 1 , 2 > > again- (Any) > > 2 , 3 > > again- (Any) > > 3 , 4 > > again- (Any) > > Hmm, how to make an alpha counter? > > $ raku -e "for (1..4) { say ($ ||= 'AAA')++ }" > > AAA > > AAB > > AAC > > AAD > > There is also anonymous @ and % but I don't have an example off the top of > my head. > -y > > > On Mon, Aug 31, 2020 at 4:57 PM ToddAndMargo via perl6-users < > perl6-us...@perl.org> wrote: > >> On 2020-08-31 16:53, ToddAndMargo via perl6-users wrote: >> >>> On Mon, Aug 31, 2020, 4:20 PM ToddAndMargo via perl6-users >> >>> <perl6-us...@perl.org <mailto:perl6-us...@perl.org>> wrote: >> >>> >> >>> On 2020-08-31 05:53, Brian Duggan wrote: >> >>> > On Monday, August 24, Curt Tilmes wrote: >> >>> >> $ cat Lines.txt | raku -e '.say for lines()[3,2,5]' >> >>> > >> >>> > The -n flag is an option here too: >> >>> > >> >>> > raku -ne '.say if $++ == 3|2|5' Lines.txt >> >>> > >> >>> > Brian >> >>> > >> >>> >> > >> >>>> Hi Bill, >> >>>> >> >>>> Works beatifically! And no bash pipe! >> >>>> >> >>>> $ raku -ne '.say if $++ == 3|2|5' Lines.txt >> >>>> Line 2 >> >>>> Line 3 >> >>>> Line 5 >> >>>> >> >>>> What is `$++`? >> >>>> >> >>>> -T >> >>>> >> > >> > On 2020-08-31 16:36, yary wrote: >> >> $ by itself is an anonymous variable, putting ++ after starts it at 0 >> >> (hmm or nil?) and increments up. >> >> >> >> By putting the plus plus first, ++$, it will start at 1, thanks to >> >> pre-increment versus post increment >> >> >> > >> > Hi Yary, >> > >> > Excellent instructions! It is a counter. I found >> > it over on >> > >> > https://docs.raku.org/perl6.html >> > >> > with a search on `$++`. But I had to pick it up >> > from "context" >> > >> > >> > >> > $ p6 'my @x=<"a" "b" "c">; for @x -> $i { print $++," ", ++$, " ", $i, >> > "\n";}' >> > 0 1 "a" >> > 1 2 "b" >> > 2 3 "c" >> > >> > Question: does the counter restart after its use, or do >> > I need to do it myself? >> > >> > -T >> > >> >> To answer my own question. It resets itself: >> >> $ p6 'my @x=<"a" "b" "c">; for @x -> $i { print $++, " ", ++$, " ", $i, >> "\n" }; print "\n", $++, "\n";' >> 0 1 "a" >> 1 2 "b" >> 2 3 "c" >> >> 0 >> >> >> >> -- >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> Computers are like air conditioners. >> They malfunction when you open windows >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >