Cursus Raku / Essentiëlen / Associatieve datentypen / Oefeningen / Aankoop tabel

Oplossing: Aankoop tabel

De tabel bevat een koptekst (die je eenvoudig afdrukt met een enkele say) en een aantal rijen met een vergelijkbare structuur: artikelnaam, artikelprijs, hoeveelheid en de totale kosten van deze artikelen.

Omdat je de volgorde van de rijen wilt behouden, is een array een goede keuze om de items te bewaren. Dus, elke regel van de tabel komt overeen met een enkel element van een array.

Op het tweede niveau kan een record worden opgeslagen in een hash-structuur met een paar benoemde velden: name, price, en quantity.

De rest van het programma bestaat uit het itereren over de items, het berekenen van de totalen en het afdrukken van de tabelrijen.

Code

Hier is een van de mogelijke oplossingen voor deze taak:

my @items = [
    {
        name => 'Stoelen',
        price => 20.57,
        quantity => 4,
    },
    {
        name => 'Tafels',
        price => 50.18,
        quantity => 1,
    }
];

say "Artikel\tPrijs\tAantal\tTotaal";
for @items -> $item {
    my $total = $item<price> * $item<quantity>;
    say "$item<name>\t\$$item<price>\t$item<quantity>\t\$$total";
}

🦋 Vind het programma in het bestand purchase-table.raku.

Uitvoer

$ raku exercises/associatives/purchase-table.raku
Artikel	Prijs	Aantal	Totaal
Stoelen	$20.57	4	$82.28
Tafels	$50.18	1	$50.18

Volgende oefening

💪 Reisafstand*

Cursusnavigatie

Positionele datentypen / Subscriptie van reeksen   |   Functies maken en aanroepen

Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.

Vertalingen van deze pagina: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська