Курс языка программирования Raku / Продвинутый уровень / Подпрограммы / Подробнее о MAIN / Exercises / Типизированный MAIN
Решение: Типизированный MAIN
Вот возможное решение задачи.
Код
sub MAIN(Int $n) {
say $n * 2;
}🦋 Исходный код можно найти в файле typed-main.raku.
Вывод
$ raku typed-main.raku 5
10
$ raku typed-main.raku abc
Usage:
typed-main.raku <n>Комментарии
Ограничение
Intозначает, что слово из командной строки должно выглядеть как целое число. При передаче5оно привязывается к$n, и тело выводит10.При передаче
abcзначение не может статьInt, поэтому сигнатура не совпадает. Raku не выполняет тело подпрограммы, а выводит сгенерированное сообщение об использовании, обеспечивая валидацию аргументов без каких-либо ручных проверок.