Pular para o conteúdo

Bloco comptime

Nesta página

A forma mais direta de avaliação em tempo de compilação é o bloco comptime. Você escreve comptime { ... } como faria com qualquer bloco de código: declare variáveis, faça cálculos, escreva a expressão final sem ponto-e-vírgula como valor de retorno. O compilador executa esse bloco e substitui toda a expressão pelo valor resultante — o programa em execução nunca vê o bloco, só o literal.

Isso significa que o custo computacional do bloco não existe em produção: cada operação acontece uma única vez, no momento em que você compila.

Bloco comptime básico: duas variáveis e uma multiplicação baked como literal.

01-block.zolo
Playground
// 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

Desafio

Troque os valores de a e b por math.sqrt(144.0) e math.sqrt(49.0) e observe que funções da stdlib também funcionam dentro de um bloco comptime.

Veja também

Buscar no Zolo

9 resultados

enespt-br