Cursus Raku / Geavanceerd / Subroutines / Signaturen / Exercises / Een optionele exponent

Oplossing: Een optionele exponent

Hier is een mogelijke oplossing voor de opgave.

Code

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

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

🦋 De broncode is te vinden in het bestand optional-exponent.raku.

Uitvoer

25
125

Opmerkingen

  1. Het ? achter $exp maakt de parameter optioneel, zodat power kan worden aangeroepen met alleen het grondtal.

  2. Wanneer $exp wordt weggelaten is hij ongedefinieerd, en // levert de terugvalwaarde 2, zodat power(5) het grondtal kwadrateert tot 25. Wanneer een exponent wordt meegegeven, zoals in power(5, 3), wordt die waarde gebruikt, wat 125 oplevert.

Cursusnavigatie

Een optionele exponent   |   Slurpy benoemde argumenten