Курс языка программирования Raku / Основы / Основы функций / Больше о функциях / Типизированные параметры
Тест: Типизированные параметры
1
Дана функция:
sub f(Rat $x) {
say 2 * $x;
}Какие вызовы правильные?
| 0 | f(3); | Даже если 3 может поместиться в контейнер Rat, вызов неверен, так как 3 это Int, а не Rat. |
| 1 | f(3.5); | |
| 0 | f(3e0); | |
| 0 | f('3'); | |
| 1 | f(<4/5>); | Это число типа Rat. |
2
Дана функция:
sub g(Int $a, Str $b) {
say "Integer $a, string $b";
}Какие вызовы правильные?
| 0 | g(10, 20); | |
| 0 | g('10', 20); | Даже если любой аргумент может быть приведен к нужному типу, Raku требует точного соответствия типов. |
| 1 | g(10, '20'); | |
| 0 | g('10, 20'); | Передана одна строка. |
| 0 | g('10', '20'); |