Arreglos dinámicos en Odin
[dynamic] crece con append y devuelve la memoria a través de delete.
package main
import "core:fmt"
main :: proc() {
// [dynamic] grows on append; delete returns the memory.
hauls: [dynamic]f32
defer delete(hauls)
append(&hauls, 12.5)
append(&hauls, 8.0)
append(&hauls, 15.25, 6.75)
fmt.println(len(hauls), "hauls logged")
fmt.printfln("first %.2f, last %.2f", hauls[0], hauls[len(hauls) - 1])
}
Cómo funciona
hauls: [dynamic]f32arranca vacío;defer delete(hauls)agenda la limpieza.append(&hauls, ...)toma un puntero y acepta varios valores de una vez.leny el indexado funcionan como en cualquier arreglo una vez adentro.
Palabras clave y builtins usados aquí
appenddeferdeletedynamicf32importlenpackageproc
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 330
- Tokens
- 87
- Ritmo de tres estrellas
- 70 tpm
Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 75 segundos.
Paso 2 de 3 en Colecciones; paso 11 de 27 en Fundamentos del lenguaje.