Curso de Raku / Avanzado / Subrutinas / Más sobre subrutinas MAIN / Exercises / Un MAIN tipado

Solución: Un MAIN tipado

Aquí hay una posible solución para la tarea.

Código

sub MAIN(Int $n) {
    say $n * 2;
}

🦋 Puedes encontrar el código fuente en el archivo typed-main.raku.

Salida

$ raku typed-main.raku 5
10

$ raku typed-main.raku abc
Usage:
  typed-main.raku <n>

Comentarios

  1. La restricción Int significa que la palabra de la línea de comandos debe parecerse a un entero. Dado 5, se vincula a $n y el cuerpo imprime 10.

  2. Dado abc, el valor no puede convertirse en un Int, por lo que la firma no coincide. Raku no ejecuta el cuerpo — en su lugar imprime el mensaje de uso generado, proporcionándote validación de argumentos sin ninguna verificación manual.

Un MAIN tipado   |   Sumar dos argumentos