Курс 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%%tipblock ## Як визначити, що це помилка під час компіляції Якщо
повідомлення про помилку починається з
===SORRY!=== Error while compiling, це означає, що помилка
сталася під час компіляції. %%/tipblock
Практика
Виконайте 1 тест за змістом цієї теми.
Навігація курсом
← Зверніть увагу на пробіли | Тест — Типізовані параметри →
💪 Або перейдіть одразу до
вправи цього розділу.