aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2022-05-28 16:01:12 +0200
committerJan Krňávek <Jan.Krnavek@gmail.com>2022-05-28 16:01:12 +0200
commit36b27cb0199664be7a6de6bd29be2216dde8da07 (patch)
tree9b5c40297c9f3bf045656fc1d28d5dbf716f91c2
parentfcd2d4bdde323600dd7022afb0c5374c3d324795 (diff)
downloadperlweeklychallenge-club-36b27cb0199664be7a6de6bd29be2216dde8da07.tar.gz
perlweeklychallenge-club-36b27cb0199664be7a6de6bd29be2216dde8da07.tar.bz2
perlweeklychallenge-club-36b27cb0199664be7a6de6bd29be2216dde8da07.zip
solution week 166-1
-rw-r--r--challenge-166/wambash/raku/ch-1.raku23
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-166/wambash/raku/ch-1.raku b/challenge-166/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..1b9cb4fb1d
--- /dev/null
+++ b/challenge-166/wambash/raku/ch-1.raku
@@ -0,0 +1,23 @@
+#!/usr/bin/env raku
+
+sub is-hexadecimal-word ($s) {
+ $s
+ andthen .lc
+ andthen .trans: 'olist' => '01157'
+ andthen ? .parse-base: 16
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is is-hexadecimal-word('food'), True;
+ is is-hexadecimal-word('frodo'), False;
+ done-testing;
+}
+
+multi MAIN ($dict-file = '../../../data/dictionary.txt') {
+ $dict-file.IO
+ andthen Supply.from-list: .lines
+ andthen .grep: 2 ≤ *.chars ≤ 8
+ andthen .grep: &is-hexadecimal-word
+ andthen .tap: &put
+}