core:strings en Odin
Prefijo, búsqueda y conteo sobre un lema de taller, partido por un iterador sin reservas.
package main
import "core:fmt"
import "core:strings"
main :: proc() {
motto := "measure twice, cut once"
fmt.println("starts well?", strings.has_prefix(motto, "measure"))
fmt.println("'cut' at:", strings.index(motto, "cut"))
fmt.println("commas:", strings.count(motto, ","))
// The iterator form splits without allocating anything.
rest := motto
for word in strings.split_iterator(&rest, " ") {
fmt.printf("[%s] ", word)
}
fmt.println()
}
Cómo funciona
has_prefix,indexycountresponden las preguntas de todos los días.split_iteratortoma un cursor ^string y entrega palabra tras palabra.- Nada aquí reserva memoria — las palabras son slices del lema original.
Palabras clave y builtins usados aquí
forimportinpackageproc
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 442
- Tokens
- 115
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 106 segundos.
Paso 1 de 3 en La biblioteca core; paso 22 de 27 en Fundamentos del lenguaje.