Курс по 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'; # ОК и е 7
Как да разберем дали е грешка по време на компилация
Ако съобщението за грешка започва с ===SORRY!=== Error while compiling
, това означава, че грешката е възникнала по време на компилация.
Навигация по курса
← Повече за функциите / Внимание към пространството | Повече за функциите / Тип на връщане →
💪 Or jump directly to the exercise to this section.
Тази страница е автоматично преведена с ChatGPT 4.0. Оригинален текст на английски
Преводи на тази страница: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська