typestar

Expresiones de tiempo de compilación en Mojo

Una función común corre en compilación cuando su resultado alimenta una vinculación comptime.

def factorial(n: Int) -> Int:
    var result = 1
    for i in range(2, n + 1):
        result *= i
    return result


comptime SEATS = 5
comptime ORDERINGS = factorial(SEATS)
comptime LABEL = "orderings: " + String(ORDERINGS)


def main():
    print(SEATS, ORDERINGS)
    print(LABEL)

Cómo funciona

  1. factorial es un def corriente, con un cuerpo corriente de ejecución.
  2. comptime ORDERINGS = factorial(SEATS) la corre durante la compilación.
  3. LABEL muestra que armar cadenas también se pliega de antemano.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
257
Tokens
67
Ritmo de tres estrellas
70 tpm

Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 57 segundos.

Escribe este fragmento

Paso 4 de 5 en Mojo en tiempo de compilación; paso 4 de 22 en Parámetros y SIMD.

← Anterior Siguiente →