Курс Raku / Розширені / Підпрограми / Більше про підпрограми MAIN / Вправи / Типізована 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 не виконує тіла — він натомість виводить згенероване повідомлення про використання, даючи вам перевірку аргументів без жодних ручних перевірок.