Cursus Raku / Elementa / Fundamenta functionum / Creando et vocando functiones

Defaulte valores

Tam parametri positionis quam nominati valores praedefiniti habere possunt. Si functio valorem praedefinitum pro parametro dato habet, ille parameter omitti potest cum functionem vocas.

Parametri positionis

Exemplum valoris praedefiniti pro functione cum parametris positionis:

sub saluta($nomen = 'Mundus') {
    say "Salve, $nomen!";
}

saluta('Merinda');
saluta();

Prima vocatio nomen datum ut solum argumentum utitur et sic imprimit Salve, Merinda!. Secunda vocatio valorem praedefinitum utitur et imprimit Salve, Mundus!.

Si functio plus quam unum parametron habet, tunc valores praedefiniti tantum in fine eorum indicis adhiberi possunt:

sub f($a, $b, $c = 42, $d = 50) { . . . } # rectum
# sub f($a = 10, $b = 20, $c, $d) { . . . } # FALSUM

Parametri nominati

Eadem syntaxi adhibetur ad valores praedefinitos pro parametris nominatis statuendos:

sub saluta(:$nomen = 'Mundus') {
    say "Salve, $nomen!";
}

saluta(nomen => 'Merinda'); # Salve, Merinda!
saluta(); # Salve, Mundus!

Ordo parametron nominatorum non refert, ita quilibet eorum valores praedefinitos habere potest, etiam primus in indice:

sub saluta(:$salutatio = 'Salve', :$nomen) {
    say "$salutatio, $nomen!";
}

saluta(nomen => 'Alla'); # Salve, Alla!

Exercitatio

Sequuntur 2 quiz de contentis huius argumenti.

Quiz 2 — Variabiles ut nominate parametra   |   Quiz — Definire defaulte valores


💪 Vel recta ad exercitationes huius sectionis i.