aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-08-18 22:50:42 +0100
committerGitHub <noreply@github.com>2024-08-18 22:50:42 +0100
commit5b584c0cb87109e1a2edd34b489032fd47baae0e (patch)
treea6cef3b5089aa3e8cc6443fe41f9cee24c6348a8
parentd0c78389e2563f03c75ad3d0df58563ee3b37fca (diff)
parentc0b273edea36c7a7255f0ce11a0f3ca70039158f (diff)
downloadperlweeklychallenge-club-5b584c0cb87109e1a2edd34b489032fd47baae0e.tar.gz
perlweeklychallenge-club-5b584c0cb87109e1a2edd34b489032fd47baae0e.tar.bz2
perlweeklychallenge-club-5b584c0cb87109e1a2edd34b489032fd47baae0e.zip
Merge pull request #10644 from BarrOff/barroff-282
feat: Raku solution for task 1 of challenge 282 from BarrOff
-rw-r--r--challenge-282/barroff/raku/ch-1.p631
1 files changed, 31 insertions, 0 deletions
diff --git a/challenge-282/barroff/raku/ch-1.p6 b/challenge-282/barroff/raku/ch-1.p6
new file mode 100644
index 0000000000..e36bedf883
--- /dev/null
+++ b/challenge-282/barroff/raku/ch-1.p6
@@ -0,0 +1,31 @@
+#!/usr/bin/env raku
+
+use v6.d;
+
+sub good-integer(Int $int where $int > 99) {
+ $int ~~ /
+ [
+ (\d)? {} :my $c=$0; <!before $c>
+ (\d) $1 $1 {}
+ :my $d=$1; <!before $d>]
+ |
+ [
+ ^(\d) $0 {} :my $e=$0; ($e) <!before $e>
+ ]
+ / ?? $1 x 3 !! -1;
+}
+
+#| Run test cases
+multi sub MAIN('test') {
+ use Test;
+ plan 3;
+
+ is good-integer(12344456), "444", 'works for "12344456"';
+ is good-integer(1233334), -1, 'works for "1233334"';
+ is good-integer(10020003), "000", 'works for "10020003"';
+}
+
+#| Take user provided number like 10020003
+multi sub MAIN(Int $int where $int > 99) {
+ say good-integer($int);
+}