diff options
| author | arnesom <arne@bbop.org> | 2023-03-09 22:13:52 +0100 |
|---|---|---|
| committer | arnesom <arne@bbop.org> | 2023-03-09 22:13:52 +0100 |
| commit | 38f3b79c4be5a065fcf700da4a3200e2d45ce378 (patch) | |
| tree | 4640d07e4dfd00468b65c439e1914e94666f5e39 | |
| parent | f2e33c0038917ad43651d0c4e8b0bb310eaed541 (diff) | |
| download | perlweeklychallenge-club-38f3b79c4be5a065fcf700da4a3200e2d45ce378.tar.gz perlweeklychallenge-club-38f3b79c4be5a065fcf700da4a3200e2d45ce378.tar.bz2 perlweeklychallenge-club-38f3b79c4be5a065fcf700da4a3200e2d45ce378.zip | |
Arne Sommer
| -rw-r--r-- | challenge-207/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-207/arne-sommer/raku/ch-1.raku | 17 | ||||
| -rwxr-xr-x | challenge-207/arne-sommer/raku/ch-2.raku | 18 | ||||
| -rwxr-xr-x | challenge-207/arne-sommer/raku/h-index | 18 | ||||
| -rwxr-xr-x | challenge-207/arne-sommer/raku/keyboard-word | 17 |
5 files changed, 71 insertions, 0 deletions
diff --git a/challenge-207/arne-sommer/blog.txt b/challenge-207/arne-sommer/blog.txt new file mode 100644 index 0000000000..897695eb40 --- /dev/null +++ b/challenge-207/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/h-word.html diff --git a/challenge-207/arne-sommer/raku/ch-1.raku b/challenge-207/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..181cd47446 --- /dev/null +++ b/challenge-207/arne-sommer/raku/ch-1.raku @@ -0,0 +1,17 @@ +#! /usr/bin/env raku + +unit sub MAIN ($words = "Hello Alaska Dad Peace", :v($verbose)); + +my $row1 = /^ <[qwertyuiop]>+ $/; +my $row2 = /^ <[asdfghjkl]>+ $/; +my $row3 = /^ <[zxcvbnm]>+ $/; + +my @ok; + +for $words.words -> $word +{ + say ":word: $word" if $verbose; + @ok.push($word) if $word.lc ~~ / $row1 | $row2 | $row3 /; +} + +say "(", @ok.map({ '"' ~ $_ ~ '"' }).join(","), ")"; diff --git a/challenge-207/arne-sommer/raku/ch-2.raku b/challenge-207/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..59000e1752 --- /dev/null +++ b/challenge-207/arne-sommer/raku/ch-2.raku @@ -0,0 +1,18 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@citations where @citations.elems && all(@citations) ~~ /^ 0 || <[1..9]> <[0..9]>* $/, :v($verbose)); + +my @sorted = @citations.sort; + +say ": Sorted: { @citations.join(", ") }" if $verbose; + +for @citations.elems ... 1 -> $index +{ + say "Pos:$index -> val:{ @citations[$index -1] }" if $verbose; + if @citations[$index -1] >= $index + { + say $index; + last; + } +} + diff --git a/challenge-207/arne-sommer/raku/h-index b/challenge-207/arne-sommer/raku/h-index new file mode 100755 index 0000000000..59000e1752 --- /dev/null +++ b/challenge-207/arne-sommer/raku/h-index @@ -0,0 +1,18 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@citations where @citations.elems && all(@citations) ~~ /^ 0 || <[1..9]> <[0..9]>* $/, :v($verbose)); + +my @sorted = @citations.sort; + +say ": Sorted: { @citations.join(", ") }" if $verbose; + +for @citations.elems ... 1 -> $index +{ + say "Pos:$index -> val:{ @citations[$index -1] }" if $verbose; + if @citations[$index -1] >= $index + { + say $index; + last; + } +} + diff --git a/challenge-207/arne-sommer/raku/keyboard-word b/challenge-207/arne-sommer/raku/keyboard-word new file mode 100755 index 0000000000..181cd47446 --- /dev/null +++ b/challenge-207/arne-sommer/raku/keyboard-word @@ -0,0 +1,17 @@ +#! /usr/bin/env raku + +unit sub MAIN ($words = "Hello Alaska Dad Peace", :v($verbose)); + +my $row1 = /^ <[qwertyuiop]>+ $/; +my $row2 = /^ <[asdfghjkl]>+ $/; +my $row3 = /^ <[zxcvbnm]>+ $/; + +my @ok; + +for $words.words -> $word +{ + say ":word: $word" if $verbose; + @ok.push($word) if $word.lc ~~ / $row1 | $row2 | $row3 /; +} + +say "(", @ok.map({ '"' ~ $_ ~ '"' }).join(","), ")"; |
