Курс по Raku / Напреднали / Подпрограми / Сигнатури / Exercises / Незадължителна степен
Решение: Незадължителна степен
Ето едно възможно решение на задачата.
Код
sub power($base, $exp?) {
$base ** ($exp // 2)
}
say power(5);
say power(5, 3);🦋 Можете да намерите пълния код във файла optional-exponent.raku.
Резултат
25
125Коментари
?след$expго прави незадължителен, така чеpowerможе да бъде извикана само с основата.Когато
$expе пропуснат, той е недефиниран, и//задава резервната стойност2, така чеpower(5)повдига основата на квадрат до25. При подадена степен, както вpower(5, 3), се използва тази стойност, което дава125.