typestar

defer en Odin

La limpieza declarada junto a lo que limpia: defer corre al salir del ámbito, en reversa.

package main

import "core:fmt"

brew :: proc() {
    // defer runs at scope exit, last-declared first.
    fmt.println("kettle on")
    defer fmt.println("kettle off")
    defer fmt.println("pour the cup")
    fmt.println("three minutes steeping")
}

main :: proc() {
    brew()
    fmt.println("milk first, obviously")
}

Cómo funciona

  1. Cada defer se registra cuando su línea se alcanza, no cuando corre.
  2. Al salir disparan del último al primero: servir la taza, luego apagar la pava.
  3. El patrón mantiene adquisición y liberación vecinas en el código.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
294
Tokens
66
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 53 segundos.

Escribe este fragmento

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

← Anterior Siguiente →

defer en otros lenguajes