Курс Раку / Основи / Більше про функції
Типізовані параметри
Параметри функцій у 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 • Български • Русский • Українська