Курс Raku / Розширені / Підпрограми / Множинна диспетчеризація

Тест — Диспетчеризація з where

Що виведе наведена програма?

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

f(4);
1even
0odd
0обидва
0нічого

4 задовольняє умову where $n %% 2, тож обирається специфічніший кандидат і виводиться even. Кандидат зі звичайним Int є всеохопним для всього, що умову не проходить.

Навігація курсом

Розв’язання: Класифікувати розмір   |   Більше про підпрограми MAIN