typestar

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

  1. has_prefix, index y count responden las preguntas de todos los días.
  2. split_iterator toma un cursor ^string y entrega palabra tras palabra.
  3. Nada aquí reserva memoria — las palabras son slices del lema original.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 3 en La biblioteca core; paso 22 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →