Cursus Raku / Geavanceerd / Subroutines / Meervoudige dispatch

Quiz — Dispatch met where

Wat print het volgende programma?

multi sub f(Int $n where $n %% 2) { say 'even' }
multi sub f(Int $n)               { say 'odd' }

f(4);
1even
0odd
0both
0nothing

4 voldoet aan de voorwaarde where $n %% 2, dus de meer specifieke kandidaat wordt gekozen en even wordt afgedrukt. De gewone Int-kandidaat is de vangnet voor alles wat niet aan de voorwaarde voldoet.

Cursusnavigatie

Oplossing: De grootte classificeren   |   Meer over MAIN-subroutines