Курс Raku / Розширені / Підпрограми / Сигнатури / Вправи / Необов’язковий степінь

Розв’язання: Необов’язковий степінь

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

Код

sub power($base, $exp?) {
    $base ** ($exp // 2)
}

say power(5);
say power(5, 3);

🦋 Вихідний код можна знайти у файлі optional-exponent.raku.

Вивід

25
125

Коментарі

  1. Знак ? після $exp робить його необов’язковим, тож power можна викликати лише з основою.

  2. Коли $exp пропущено, він невизначений, і // підставляє запасне 2, тож power(5) підносить основу до квадрата, даючи 25. Якщо показник задано, як у power(5, 3), використовується саме це значення, даючи 125.

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

Необов’язковий степінь   |   Slurpy іменовані аргументи