Kurso de Raku / Esencoj / Asociaj datentipoj / Ekzercoj / Aĉettabelo

Solvo: Aĉettabelo

La tabelo enhavas kaplinion (kiun vi simple presas per unuopa say) kaj kelkajn vicojn kun simila strukturo: nomo de objekto, prezo de objekto, kvanto kaj la totala kosto de tiuj objektoj.

Ĉar vi volas konservi la ordon de vicoj, tabelo estas bona elekto por konservi la objektojn. Do, ĉiu linio de la tabelo respondas al unuopa elemento de tabelo.

Je la dua nivelo, rekordo povas esti konservita en hakstrukturo kun kelkaj nomitaj kampoj: name, price, kaj quantity.

La resto de la programo estas ripeti super la objektoj, kalkuli la totalojn kaj presi la tabelvicojn.

Kodo

Jen unu el la eblaj solvoj por ĉi tiu tasko:

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

say "Item\tPrice\tN\tTotal";
for @items -> $item {
    my $total = $item<price> * $item<quantity>;
    say "$item<name>\t\$$item<price>\t$item<quantity>\t\$$total";
}

🦋 Trovu la programon en la dosiero purchase-table.raku.

Eligo

$ raku exercises/associatives/purchase-table.raku
Item	Price	N	Total
Chairs	$20.57	4	$82.28
Tables	$50.18	1	$50.18

Sekva ekzerco

💪 Vojaĝa distanco

Kurso navigado

Poziciaj datentipoj / Subskribante intervalojn   |   Kreado kaj vokado de funkcioj

Ĉi tiu paĝo estas aŭtomate tradukita per ChatGPT 4o. Originala angla teksto

Tradukoj de ĉi tiu paĝo: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська