Cursus Raku / Essentiëlen / Basis van functies / Functies maken en aanroepen
Standaardwaarden
Zowel positionele als benoemde parameters kunnen standaardwaarden hebben. Als de functie een standaardwaarde heeft voor de gegeven parameter, kan die parameter worden overgeslagen bij het aanroepen van de functie.
Positionele parameters
Een voorbeeld van een standaardwaarde voor een functie met positionele parameters:
sub greet($name = 'World') {
say "Hello, $name!";
}
greet('Merinda');
greet();De eerste aanroep gebruikt de naam die als enig argument is
doorgegeven en drukt dus Hello, Merinda! af. De tweede
aanroep gebruikt de standaardwaarde en drukt Hello, World!
af.
Als een functie meer dan één parameter heeft, kunnen de standaardwaarden alleen aan het einde van de lijst worden gebruikt:
sub f($a, $b, $c = 42, $d = 50) { . . . } # correct
# sub f($a = 10, $b = 20, $c, $d) { . . . } # FOUTBenoemde parameters
Dezelfde syntaxis wordt gebruikt voor het instellen van standaardwaarden voor benoemde parameters:
sub greet(:$name = 'World') {
say "Hello, $name!";
}
greet(name => 'Merinda'); # Hello, Merinda!
greet(); # Hello, World!De volgorde van de benoemde parameters maakt niet uit, dus elk van hen kan standaardwaarden hebben, zelfs de eerste in de lijst:
sub greet(:$greeting = 'Hello', :$name) {
say "$greeting, $name!";
}
greet(name => 'Alla'); # Hello, Alla!Praktijk
Maak de 2 quizzen over de inhoud van dit onderwerp.
Cursusnavigatie
← Quiz 2 — Variabelen als benoemde parameters | Quiz — Standaardwaarden definiëren →
💪 Of ga direct naar de oefeningen in deze
sectie.