Sorry Radhakrishnan, for mis-spelling your name in my last post. --B.
On Mon, Aug 31, 2020 at 1:02 PM William Michels <w...@caa.columbia.edu> wrote: > > Very nice, Bruce and Daniel! > > I continued to hack on Rahakrishnan's code, then realized I could try > using Bruce's grep() call as a filter: > > ~$ raku -e '@*ARGS.words.grep(*.Rat).sum.say;' 100 200 300 apples > 400oranges 2kilos 18.7876 500 grams14 10stars10 sun100moon 77 > 1195.7876 > > HTH, Bill. > > On Mon, Aug 31, 2020 at 12:23 PM <dan...@codesections.com> wrote: > > > > I like Bruce's Regex-based approach. > > > > Here's how I'd probably approach the problem: > > > > raku -e 'say [+] @*ARGS.grep(+*)' 0 100 200 300 apples 400oranges 2kilos > > 18.7876 500 grams14 10stars10 sun100moon 77 > > > > August 31, 2020 2:28 PM, "Bruce Gray" <robertbrucegr...@gmail.com> wrote: > > > > > my $is_a_number = / ^ \d+ [ '.' \d* ]? $ /; > > > > > > my $sum = @*ARGS.grep($is_a_number).sum; > > > > > > say $sum; > > > > > > — > > > Hope this helps, > > > Bruce Gray (Util of PerlMonks) > > > > > >> On Aug 31, 2020, at 12:22 PM, William Michels via perl6-users > > >> <perl6-us...@perl.org> wrote: > > >> > > >> I think it looks very good, Radhakrishnan! Presumably you are happy > > >> with the sum 1195.7876? > > >> > > >> ~$ raku -e 'for @*ARGS {.say if ($_.Int // 0) };' 0 100 200 300 apples > > >> 400oranges 2kilos 18.7876 500 grams14 10stars10 sun100moon 77 > > >> 100 > > >> 200 > > >> 300 > > >> 18.7876 > > >> 500 > > >> 77 > > >> > > >> I'm still mulling over whether or not the "!=== 0" is essential. I > > >> have yet to mess-up the command line arguments sufficiently to require > > >> it, and throwing a zero onto the command line seems to be handled > > >> gracefully. > > >> > > >> Anyone else want to chime in? > > >> > > >> Best, Bill. > > >> > > >> On Mon, Aug 31, 2020 at 8:49 AM Radhakrishnan Venkataraman > > >> <weor...@gmail.com> wrote: > > >>> Please see the following script that checks for type and sums up only > > >>> the numbers passed as > > >>> arguments to the script in the command line. I would be grateful if any > > >>> improvement or furtherance > > >>> to this script is offered. Thank you. > > >>> > > >>> # > > >>> # sums the numbers given in command line arguments and prints > > >>> # > > >>> my $sum = 0; > > >>> for @*ARGS > > >>> { > > >>> $sum += $_.Rat if $_.Int // 0 !=== 0; > > >>> } > > >>> say $sum; > > >>> > > >>> # > > >>> # command line execution > > >>> # perl6 cla.p6 100 200 300 apples 400oranges 2kilos 18.7876 500 grams14 > > >>> 10stars10 sun100moon 77 > > >>> #