Курс по Raku / Основи / Асоциативни типове данни / Упражнения / Таблица за покупки

Решение: Таблица за покупки

Таблицата съдържа заглавие (което просто отпечатвате с един say) и редица редове със сходна структура: име на артикул, цена на артикул, количество и обща стойност на тези артикули.

Тъй като искате да запазите реда на редовете, масив е добър избор за съхраняване на артикулите. Така че, всеки ред от таблицата съответства на един елемент от масива.

На второ ниво, запис може да бъде съхранен в хеш структура с няколко именувани полета: name, price и quantity.

Останалата част от програмата е да обхождате артикулите, изчислявате общите стойности и отпечатвате редовете на таблицата.

Код

Ето едно от възможните решения на тази задача:

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";
}

🦋 Намерете програмата във файла purchase-table.raku.

Изход

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

Следващо упражнение

💪 Разстояние на пътуване*

Навигация по курса

Позиционни типове данни / Индексиране на диапазони   |   Създаване и извикване на функции

Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски

Преводи на тази страница: EnglishDeutschEspañolItalianoLatviešuNederlandsБългарскиРусскийУкраїнська