Raku kurss / Pamati / Vairāk par tipiem / Asociatīvie datu tipi / Exercises / Pirkumu tabula

Risinājums: Pirkumu tabula

Tabulā ir galvene (kuru jūs vienkārši izdrukājat ar vienu say) un vairākas rindas ar līdzīgu struktūru: preces nosaukums, preces cena, daudzums un šo preču kopējās izmaksas.

Tā kā vēlaties saglabāt rindu secību, masīvs ir laba izvēle, lai saglabātu preces. Tātad, katra tabulas rinda atbilst vienam masīva elementam.

Otrajā līmenī ierakstu var saglabāt heša struktūrā ar dažiem nosauktiem laukiem: name, price un quantity.

Pārējā programma ir, lai pārstaigātu preces, aprēķinātu kopsummas un izdrukātu tabulas rindas.

Kods

Šeit ir viens no iespējamiem risinājumiem šim uzdevumam:

my @items = [
    {
        name => 'Krēsli',
        price => 20.57,
        quantity => 4,
    },
    {
        name => 'Galdi',
        price => 50.18,
        quantity => 1,
    }
];

say "Prece\tCena\tN\tKopā";
for @items -> $item {
    my $total = $item<price> * $item<quantity>;
    say "$item<name>\t\$$item<price>\t$item<quantity>\t\$$total";
}

🦋 Atrodiet programmu failā purchase-table.raku.

Izvade

$ raku exercises/associatives/purchase-table.raku
Prece	Cena	N	Kopā
Krēsli	$20.57	4	$82.28
Galdi	$50.18	1	$50.18

Kursa navigācija

Pirkumu tabula   |   Ceļošanas attālums