Курс языка программирования 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>

Комментарии

  1. Ограничение Int означает, что слово из командной строки должно выглядеть как целое число. При передаче 5 оно привязывается к $n, и тело выводит 10.

  2. При передаче abc значение не может стать Int, поэтому сигнатура не совпадает. Raku не выполняет тело подпрограммы, а выводит сгенерированное сообщение об использовании, обеспечивая валидацию аргументов без каких-либо ручных проверок.

Навигация по курсу

Типизированный MAIN   |   Сложение двух аргументов