Курс по 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Коментари
Boolименуван параметър се превръща във флаг: подаването на--shoutзадава$shoutнаTrue, а пропускането му оставя стойността по подразбиранеFalse.Тернарният оператор след това отпечатва
HELLOилиhelloсъответно. За разлика от опция--name=value, флагът не приема стойност — важно е единствено неговото присъствие.