Курс языка программирования Raku / Продвинутый уровень / Подпрограммы / Мультиметоды / Exercises / Оптовая цена
Решение: Оптовая цена
Вот возможное решение задачи.
Код
multi sub price(Int $qty where $qty >= 10) { say 'bulk price' }
multi sub price(Int $qty) { say 'normal price' }
price(3);
price(25);🦋 Исходный код можно найти в файле bulk-pricing.raku.
Вывод
normal price
bulk priceКомментарии
Первый кандидат содержит конструкцию
where, которая принимает только количество от 10 и более, поэтому вызовprice(25)направляется к нему.Второй кандидат не имеет условия и служит перехватчиком, поэтому
price(3)попадает туда.