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
Cargo :: enum { General, Reefer, Hazmat }declara los tags.- Donde el tipo se conoce,
.Reeferno necesita prefijo. for kind in Cargoitera los valores del enum;int(kind)muestra los ordinales.
Palabras clave y builtins usados aquí
enumforifimportinintpackageproc
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.
Paso 2 de 3 en Structs, enums y unions; paso 14 de 27 en Fundamentos del lenguaje.