core:slice en Odin
max, contains y un sort en el lugar desde el paquete de utilidades de slices.
package main
import "core:fmt"
import "core:slice"
main :: proc() {
hauls := []f32{12.5, 8.0, 15.25, 6.75, 11.0}
fmt.println("best haul:", slice.max(hauls))
fmt.println("has 8.0?", slice.contains(hauls, 8.0))
// sort works in place on any ordered element type.
weights := [5]f32{12.5, 8.0, 15.25, 6.75, 11.0}
slice.sort(weights[:])
fmt.println("sorted:", weights)
fmt.println("lightest two:", weights[0:2])
}
Cómo funciona
slice.maxyslice.containsreducen y buscan sin bucles.slice.sort(weights[:])ordena el arreglo a través de un slice de él.- Rebanar
[0:2]después del sort lee las dos pescas más livianas.
Palabras clave y builtins usados aquí
f32importmaxpackageproc
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 412
- Tokens
- 117
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 108 segundos.
Paso 2 de 3 en La biblioteca core; paso 23 de 27 en Fundamentos del lenguaje.