From 885e43402786b8a31d8e123a4c0f6be338a73e07 Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Sat, 1 Oct 2022 06:34:32 -0400 Subject: Challenge 184 by Jaldhar H. Vyas. --- challenge-184/jaldhar-h-vyas/blog.txt | 1 + challenge-184/jaldhar-h-vyas/perl/ch-1.pl | 8 +++++++ challenge-184/jaldhar-h-vyas/perl/ch-2.pl | 37 +++++++++++++++++++++++++++++ challenge-184/jaldhar-h-vyas/raku/ch-1.raku | 9 +++++++ challenge-184/jaldhar-h-vyas/raku/ch-2.raku | 37 +++++++++++++++++++++++++++++ 5 files changed, 92 insertions(+) create mode 100644 challenge-184/jaldhar-h-vyas/blog.txt create mode 100755 challenge-184/jaldhar-h-vyas/perl/ch-1.pl create mode 100755 challenge-184/jaldhar-h-vyas/perl/ch-2.pl create mode 100755 challenge-184/jaldhar-h-vyas/raku/ch-1.raku create mode 100755 challenge-184/jaldhar-h-vyas/raku/ch-2.raku diff --git a/challenge-184/jaldhar-h-vyas/blog.txt b/challenge-184/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..d4509e70ac --- /dev/null +++ b/challenge-184/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2022/10/perl_weekly_challenge_week_184.html \ No newline at end of file diff --git a/challenge-184/jaldhar-h-vyas/perl/ch-1.pl b/challenge-184/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..92656f0119 --- /dev/null +++ b/challenge-184/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,8 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +my @list = @ARGV; +my $seq = '00'; +my @output = map { s/^../$seq++/emsx; $_; } @list; +say join q{ }, @output; \ No newline at end of file diff --git a/challenge-184/jaldhar-h-vyas/perl/ch-2.pl b/challenge-184/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..a034ca5d70 --- /dev/null +++ b/challenge-184/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +sub printArray { + my ($array) = @_; + + my @output = map { q{[} . (join q{,}, @{$_}) . q{]} } @{$array}; + + return q{[} . (join q{, }, @output) . q{]}; +} + +my @list = @ARGV; +my @allInts; +my @allAlphas; + +for my $string (@list) { + my @ints; + my @alphas; + + for my $char (split q{ }, $string) { + if ($char =~ /[0-9]/) { + push @ints, $char; + } elsif ($char =~ /[a-z]/) { + push @alphas, "'$char'"; + } + } + + if (@ints) { + push @allInts, \@ints; + } + if (@alphas) { + push @allAlphas, \@alphas; + } +} + +say printArray(\@allInts), ' and ', printArray(\@allAlphas); diff --git a/challenge-184/jaldhar-h-vyas/raku/ch-1.raku b/challenge-184/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..2129668880 --- /dev/null +++ b/challenge-184/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,9 @@ +#!/usr/bin/raku + +sub MAIN ( + *@list +) { + my $seq = '00'; + my @output = @list.map({ $_.subst(/^../, $seq++)}); + @output.join(q{ }).say; +} \ No newline at end of file diff --git a/challenge-184/jaldhar-h-vyas/raku/ch-2.raku b/challenge-184/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..d20a9ad881 --- /dev/null +++ b/challenge-184/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,37 @@ +#!/usr/bin/raku + +sub printArray(@array) { + + my @output = @array.map({ q{[} ~ $_.join(q{,}) ~ q{]} }); + + return q{[} ~ @output.join(q{, }) ~ q{]}; +} + +sub MAIN( + *@list #= strings containing digits and lower case letters +) { + my @allInts; + my @allAlphas; + + for @list -> $string { + $string.split(q{ }).classify({ + if $_ ~~ 0..9 { + 'integer' + } elsif $_ ~~ $_ ~~ 'a'..'z' { + 'alpha'; + } + }, + :as({ $_ ~~ 'a'..'z' ?? "'$_'" !! $_; }), + :into( my %type ) + ); + + if %type{'integer'} { + @allInts.push(%type{'integer'}); + } + if %type{'alpha'} { + @allAlphas.push(%type{'alpha'}); + } + } + + say printArray(@allInts), ' and ', printArray(@allAlphas); +} \ No newline at end of file -- cgit