Cursus Raku / Programmatio functionalis, simultanea, reactiva et retialis / Programmatio functionalis / Functiones ordinis superioris

Subprogrammata tradere

Ut subprogramma ut parametrum accipias, illud sigillo & declara. Intra corpus deinde illud nomine vocare potes:

sub apply(&f, $x) {
    f($x);
}

say apply(* + 3, 10); # 13

Parametrus &f codicis partem accipit, et f($x) illam vocat. Hic * + 3 tradidimus, expressionem Whatever quae significat «adde tria ei quod tibi datur», itaque apply(* + 3, 10) 13 computat.

Subprogramma nominatum tam facile tradere potes, ad illud sigillo & spectans ut tradatur potius quam vocetur:

sub double($n) { $n * 2 }

sub apply(&f, $x) {
    f($x);
}

say apply(&double, 5); # 10

Hoc est exacte quomodo map et grep operantur: subprogrammata sunt quae aliud subprogramma — blocum tuum — accipiunt et illud unicuique elemento applicant. Tua ipsius subprogrammata quae codicem accipiunt scribere ea tam flexibilia reddit.

Exercitatio

Sequuntur 1 quiz de contentis huius argumenti.

Functiones ordinis superioris   |   Quiz — Subprogrammata tradere


💪 Vel recta ad exercitationes huius sectionis i.