Курс Raku / Розширені / Підпрограми / Множинна диспетчеризація / Вправи / Оптові ціни

Розв’язання: Оптові ціни

Ось один із можливих варіантів розв’язання задачі.

Код

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) потрапляє туди.

Навігація курсом

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