Bloque comptime
En esta página
La forma más directa de evaluación en tiempo de compilación es el bloque
comptime. Se escribe comptime { ... } igual que cualquier bloque de código:
declara variables, realiza cálculos, escribe la expresión final sin punto y
coma como valor de retorno. El compilador ejecuta ese bloque y reemplaza
toda la expresión por el valor resultante — el programa en ejecución nunca ve
el bloque, solo el literal.
Esto significa que el costo computacional del bloque no existe en producción: cada operación ocurre una única vez, en el momento en que se compila.
Bloque comptime básico: dos variables y una multiplicación baked como literal.
// Feature: comptime block — evaluate at compile time, bake the result
// Syntax: `comptime { ... <tail expr> }` runs in the compiler and
// substitutes the final value into the program.
// When to use: precompute lookup tables, expensive constants,
// configuration baked from build flags. Zero runtime cost.
let answer = comptime {
let a = 6
let b = 7
a * b
}
print(answer)
// expected: 42
Desafío
Reemplaza los valores de a y b por math.sqrt(144.0) y math.sqrt(49.0)
y observa que las funciones de la stdlib también funcionan dentro de un bloque
comptime.
Consulta también