Курс по 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. Оригинален текст на английски
Преводи на тази страница: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська