aboutsummaryrefslogtreecommitdiff
path: root/challenge-280/barroff/raku/ch-2.p6
blob: c6b255b0f69890594b787bdccba79badd7287e36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env raku

use v6.d;

sub count-asterisks(Str $str --> Int) {
    my $pairless = $str.subst(/\|.*?\|/, :g);
    grep({ $_ eq '*' }, $pairless.comb).elems;
}

#| Run test cases
multi sub MAIN('test') {
    use Test;
    plan 3;

    is count-asterisks("p|*e*rl|w**e|*ekly|"), 2,
        'works for "p|*e*rl|w**e|*ekly|"';
    is count-asterisks("perl"), 0, 'works for "perl"';
    is count-asterisks("th|ewe|e**|k|l***ych|alleng|e"), 5,
        'works for "th|ewe|e**|k|l***ych|alleng|e"';
}

#| Take user provided number like "Perl Weekly Challenge" l a
multi sub MAIN(Str $str) {
    say count-asterisks($str);
}