Курс по 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 • Български • Русский • Українська