Курс по Raku / Напреднали / Подпрограми / Повече за MAIN подпрограми / Exercises / Флаг от командния ред

Решение: Флаг от командния ред

Ето едно възможно решение на задачата.

Код

sub MAIN(Bool :$shout = False) {
    say $shout ?? 'HELLO' !! 'hello';
}

🦋 Можете да намерите изходния код във файла boolean-flag.raku.

Изход

$ raku boolean-flag.raku
hello

$ raku boolean-flag.raku --shout
HELLO

Коментари

  1. Bool именуван параметър се превръща във флаг: подаването на --shout задава $shout на True, а пропускането му оставя стойността по подразбиране False.

  2. Тернарният оператор след това отпечатва HELLO или hello съответно. За разлика от опция --name=value, флагът не приема стойност — важно е единствено неговото присъствие.

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

Флаг от командния ред   |   Типизиран MAIN