Курс языка программирования 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

Комментарии

  1. Первый кандидат содержит конструкцию where, которая принимает только количество от 10 и более, поэтому вызов price(25) направляется к нему.

  2. Второй кандидат не имеет условия и служит перехватчиком, поэтому price(3) попадает туда.

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

Оптовая цена   |   Абсолютное значение