Sha256: faeabd2d15d3fdf216a86982683dfb91fce39430e6762f9604e57f66472b20f4

Contents?: true

Size: 542 Bytes

Versions: 83

Compression:

Stored size: 542 Bytes

Contents

unit module Scrabble:ver<2>;

sub score (Str:D $word --> Int:D) is export {
  my $score = 0;
  for $word.lc.split('',:skip-empty) -> $letter {
    given $letter {
      when * ~~ /<[aeioulnrst]>/ { $score += 1  }
      when * ~~ /<[dg]>/         { $score += 2  }
      when * ~~ /<[bcmp]>/       { $score += 3  }
      when * ~~ /<[fhvwy]>/      { $score += 4  }
      when * ~~ /k/              { $score += 5  }
      when * ~~ /<[jx]>/         { $score += 8  }
      when * ~~ /<[qz]>/         { $score += 10 }
    }
  }
  return $score;
}

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
trackler-2.2.1.98 tracks/perl6/exercises/scrabble-score/Example.pm6
trackler-2.2.1.97 tracks/perl6/exercises/scrabble-score/Example.pm6
trackler-2.2.1.96 tracks/perl6/exercises/scrabble-score/Example.pm6