typestar

El sistema de context en Odin

Cada proc carga un context implícito; el allocator temporal es su truco más barato.

package main

import "core:fmt"

main :: proc() {
    // Every proc carries an implicit context with two allocators.
    fmt.println("default:", context.allocator != {})

    // tprintf builds strings on the temp allocator -- no delete needed.
    tag := fmt.tprintf("%s berth %d", "Valparaiso", 9)
    fmt.println("tag:", tag)

    // One call reclaims everything temporary at a natural boundary.
    free_all(context.temp_allocator)
    fmt.println("temp storage swept")
}

Cómo funciona

  1. context.allocator y context.temp_allocator viajan en cada llamada.
  2. fmt.tprintf arma una cadena en almacenamiento temporal — nada que borrar.
  3. free_all(context.temp_allocator) barre todo en una frontera natural.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
442
Tokens
73
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 67 segundos.

Escribe este fragmento

Paso 3 de 3 en Idiomas del lenguaje; paso 18 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →