Курс языка программирования Raku / Основы / Больше о функциях
Типизированные параметры
Параметры функций в Raku могут быть ограничены типом. Это очень похоже на типизированные переменные.
sub add(Int $x, Int $y) { $x + $y }
Теперь функция требует, чтобы её аргументы были целыми числами.
say add(10, 20);
# say add(pi, e); # Ошибка
Попытка передать параметр любого другого типа, кроме Int
, приведет к ошибке времени компиляции.
$ raku t.raku
===SORRY!=== Error while compiling t.raku
Calling add(Num, Num) will never work with declared signature (Int $x, Int $y)
at t.raku:5
------> say ⏏add(pi, e);
Обратите внимание, что Raku не будет автоматически преобразовывать типы, даже если это возможно в других случаях.
# say add('3', '4'); # Ошибка
say '3' + '4'; # OK и результат 7
Как определить, что это ошибка времени компиляции
Если сообщение об ошибке начинается с ===SORRY!=== Error while compiling
, это означает, что ошибка произошла во время компиляции.
Практика
Пройдите викторину, которая охватывает содержание этой темы.
Навигация по курсу
← Больше о функциях / Внимание к пробелам | Больше о функциях / Тип возвращаемого значения →
💪 Or jump directly to the exercise to this section.
Эта страница автоматически переведена с помощью ChatGPT 4o. Оригинальный текст на английском языке.
Переводы этой страницы: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська