Cursus Raku / Elementa / Plus de functionibus
Multi-functiones
Raku implementat multiplicem distributionem secundum functionis signaturam. Permittit creare functiones quae nomen communicant sed diversos generum inputorum habent. Utere multi
declaratore pro singulis variantibus functionis.
multi sub add(Int $x, Int $y) { $x + $y }
multi sub add(Str $x, Str $y) { $x ~ $y }
(Bene est omittere sub
post multi
.)
Si duas variantes eiusdem functionis habes, compilator multiplicem distributionem facit secundum argumenta quae in vocatione functionis videt. Compara sequentes duas vocationes:
say add(10, 20); # 30
say add('10', '20'); # 1020
Prima vocatio functionem cum parametris integris excitat, dum secunda vocatio alteram variantem functionis quae duos chordas exspectat currit.
Literales parametri
Casu interessante pro multi-functionibus est habere variantes quae valores literales ut parametros habent. Considera sequentes duas variantes:
multi sub f(42) {say 'Hoc est responsum'}
multi sub f($x) {say "$x non est responsum"}
Prima varians solum curritur cum functionem cum exacto valore 42 vocas. In aliis casibus, secunda varians adhibetur. Ordo in quo hae functiones definiuntur non refert.
f(10); # 10 non est responsum
f(42); # Hoc est responsum
Praxis
Perfice quaestiones quae argumenta huius thematis comprehendunt.
Cursus navigatio
← Plus de functionibus / Redonare typus | 💪 Exercitatio: Factorial cum multi-functiones →
Haec pagina automatice translata est per ChatGPT 4o. Originalis Anglicus textus
Translationes huius paginae: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська