Курс языка программирования Raku / Продвинутый уровень / Подпрограммы
Подробнее о MAIN
В разделе «Основы» вы использовали MAIN для получения
аргументов командной строки. Raku делает с MAIN гораздо
больше, чем просто передаёт значения.
Сообщение об использовании
Если аргументы командной строки не соответствуют сигнатуре
MAIN, Raku не выполняет тело подпрограммы. Вместо этого он
выводит автоматически сгенерированное сообщение об
использовании (usage message), описывающее, как следует вызывать
программу.
Возьмём такую программу:
sub MAIN($name) {
say "Hello, $name!";
}При правильном вызове она приветствует пользователя:
$ raku hello.raku Anna
Hello, Anna!При вызове без аргумента сигнатура не совпадает, поэтому Raku выводит сообщение об использовании вместо приветствия:
$ raku hello.raku
Usage:
hello.raku <name>Сообщение строится на основе имён параметров, поэтому, давая им осмысленные имена, вы бесплатно получаете полезный текст справки.
Именованные аргументы
Параметры MAIN могут быть как позиционными, так и
именованными. Именованный параметр становится на командной строке ключом
вида --option=value, а значение по умолчанию делает его
необязательным:
sub MAIN(:$name = 'World') {
say "Hello, $name!";
}$ raku hello.raku
Hello, World!
$ raku hello.raku --name=Raku
Hello, Raku!Практика
Пройдите 1 тест по содержанию этой темы.
Упражнения
В этом разделе 3 упражнения. Прежде чем приступать к практике, изучите все темы раздела.