diff options
| author | Mark A <andemark@a-iot1t.uch.ad.pvt> | 2021-03-22 08:05:30 -0600 |
|---|---|---|
| committer | Mark A <andemark@a-iot1t.uch.ad.pvt> | 2021-03-22 08:05:30 -0600 |
| commit | 711541abc4e2cd1cb78a610970c1d3477950ba2c (patch) | |
| tree | e3d6899885eb6176200843c03cec66b20e93874f | |
| parent | a9b4044d786d58c039cf5a47d83899d7569c21c3 (diff) | |
| download | perlweeklychallenge-club-711541abc4e2cd1cb78a610970c1d3477950ba2c.tar.gz perlweeklychallenge-club-711541abc4e2cd1cb78a610970c1d3477950ba2c.tar.bz2 perlweeklychallenge-club-711541abc4e2cd1cb78a610970c1d3477950ba2c.zip | |
initial
| -rw-r--r-- | challenge-105/mark-anderson/raku/ch-2.raku | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/challenge-105/mark-anderson/raku/ch-2.raku b/challenge-105/mark-anderson/raku/ch-2.raku index 5e1f180077..4176b38b24 100644 --- a/challenge-105/mark-anderson/raku/ch-2.raku +++ b/challenge-105/mark-anderson/raku/ch-2.raku @@ -4,7 +4,7 @@ # or second syllable so I'm just testing for consonants and vowels. use Test; -plan 4; +plan 7; is name-game("Katie"), chomp q:to/END/; Katie, Katie, bo-batie, @@ -34,6 +34,27 @@ is name-game("Shirley"), chomp q:to/END/; Shirley! END +is name-game("Billy"), chomp q:to/END/; + Billy, Billy, bo-illy, + Bonana-fanna fo-filly + Fee fi mo-milly + Billy! + END + +is name-game("Fred"), chomp q:to/END/; + Fred, Fred, bo-bed, + Bonana-fanna fo-ed + Fee fi mo-med + Fred! + END + +is name-game("Marsha"), chomp q:to/END/; + Marsha, Marsha, bo-barsha, + Bonana-fanna fo-farsha + Fee fi mo-arsha + Marsha! + END + sub name-game($X) { my $vowels = rx/ <[AEIOUaeiou]>+ /; @@ -44,8 +65,12 @@ sub name-game($X) my $Y = $start ~~ $consonants ?? $X.subst($start, "") !! lc $X; - .join("\n") given "$X, $X, bo-b" ~ $Y ~ ",", - "Bonana-fanna fo-f" ~ $Y, - "Fee fi mo-m" ~ $Y, - $X ~ "!"; + my $first = lc $X.substr: 0, 1; + + .join("\n") given + + "$X, $X, bo-" ~ ($first eq "b" ?? "" !! "b") ~ $Y ~ ",", + "Bonana-fanna fo-" ~ ($first eq "f" ?? "" !! "f") ~ $Y, + "Fee fi mo-" ~ ($first eq "m" ?? "" !! "m") ~ $Y, + $X ~ "!"; } |
