Corso di Raku / Avanzato / Subroutine / Dispatch multiplo

Quiz — Dispatch con where

Cosa stampa il seguente 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 soddisfa la condizione where $n %% 2, quindi viene scelto il candidato piu specifico e viene stampato even. Il candidato con il semplice Int funge da raccoglitore generale per tutto cio che non soddisfa la condizione.

Soluzione: Classificare la dimensione   |   Approfondimento sulle subroutine MAIN