typestar

Enums en Odin

Un enum de carga, el atajo .Nombre e iteración sobre el tipo mismo.

package main

import "core:fmt"

Cargo :: enum { General, Reefer, Hazmat }

main :: proc() {
    load := Cargo.Reefer
    // Enum values shorten to .Name where the type is known.
    if load == .Reefer {
        fmt.println("plug it in")
    }

    // The type itself is iterable.
    for kind in Cargo {
        fmt.println(kind, "=", int(kind))
    }
}

Cómo funciona

  1. Cargo :: enum { General, Reefer, Hazmat } declara los tags.
  2. Donde el tipo se conoce, .Reefer no necesita prefijo.
  3. for kind in Cargo itera los valores del enum; int(kind) muestra los ordinales.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
310
Tokens
66
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 2 de 3 en Structs, enums y unions; paso 14 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →

Enums en otros lenguajes