Cursus Raku / Addendum 🆕 / Omnia coniungere / Incepta parva mixta / Exercises / Anagrammata in greges dispone

Solutio: Anagrammata in greges dispone

Ecce solutio possibilis huius exercitationis.

Codex

my @words = <listen silent enlist cat act dog>;
my %groups;

for @words -> $word {
    %groups{ $word.comb.sort.join }.push($word);
}

for %groups.sort(*.key) -> $pair {
    say $pair.value.sort.join(' ');
}

🦋 Inveni codicem fontem in archivo anagram-groups.raku.

Exitus

act cat
dog
enlist listen silent

Commentarii

  1. Litteras verbi ordinare clavem canonicam dat: omnia anagrammata easdem litteras ordinatas communicant, itaque in %groups{ ... } immittere ea sub una clave colligit. Post anulum primum, say %groups totam structuram ostendit — unamquamque clavem canonicam ad indicem verborum suorum mappantem:

    say %groups; # {act => [cat act], dgo => [dog], eilnst => [listen silent enlist]}
  2. Unusquisque valor tabulae index verborum illius gregis est, alphabetice per .sort.join impressus.

Anagrammata in greges dispone   |   Cribrum Eratosthenis