Cursus Raku / Addendum 🆕 / Cum datis laborare / Indices, ordines et tabulae / Exercises / Duo inventaria coniunge

Solutio: Duo inventaria coniunge

Ecce solutio possibilis huius exercitationis.

Codex

my %shop-a = apples => 3, pears => 2;
my %shop-b = apples => 4, plums => 5;

my %total;
for %shop-a, %shop-b -> %shop {
    %total{$_} += %shop{$_} for %shop.keys;
}

say %total.sort.map({ "{.key}: {.value}" }).join(', ');

🦋 Inveni codicem fontem in archivo merge-inventories.raku.

Exitus

apples: 7, pears: 2, plums: 5

Commentarii

  1. Per utramque tabulam iterare et %total{$_} += ... agere unamquamque quantitatem in summam currentem addit, sive clavis ante visa est sive non — clavis absens ab nihilo incipit.

  2. %total.sort paria secundum clavem ordinat, et .map unumquodque ut key: value format antequam iunguntur.

Duo inventaria coniunge   |   Summae crescentes