Funciones que lanzan en Mojo
Un def no puede lanzar si su firma no lo dice.
def factorial(n: Int) raises -> Int:
if n < 0:
raise Error("factorial needs a non-negative input")
var result = 1
for i in range(2, n + 1):
result *= i
return result
def main() raises:
print(factorial(6))
print(factorial(0))
Cómo funciona
factorialvigila su entrada y lanza unErrorcon un negativo.raisesva entre la lista de argumentos y la flecha de retorno.- Quien llama lo maneja o se marca
raisestambién, como hacemain.
Palabras clave y builtins usados aquí
ErrorIntdefforifprintraiserangereturnvar
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 225
- Tokens
- 62
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 44 segundos.
Paso 6 de 6 en Variables y funciones; paso 6 de 26 en Fundamentos del lenguaje.