Curso de Raku / Avanzado / Subrutinas / Más sobre subrutinas MAIN / Exercises / Un flag de línea de comandos
Solución: Un flag de línea de comandos
Aquí hay una posible solución para la tarea.
Código
sub MAIN(Bool :$shout = False) {
say $shout ?? 'HELLO' !! 'hello';
}🦋 Puedes encontrar el código fuente en el archivo boolean-flag.raku.
Salida
$ raku boolean-flag.raku
hello
$ raku boolean-flag.raku --shout
HELLOComentarios
Un parámetro con nombre de tipo
Boolse convierte en una bandera: pasar--shoutestablece$shoutenTrue, mientras que omitirlo mantiene el valor predeterminadoFalse.El operador ternario entonces imprime
HELLOohellosegún corresponda. A diferencia de una opción--name=value, una bandera no toma un valor — su mera presencia es lo que cuenta.