Nyx con Ejemplos

Strings

Los strings de Nyx son valores UTF-8 con un amplio conjunto de métodos incorporados. Este ejemplo muestra las operaciones más usadas: recorte de espacios, extracción de subcadenas, conversión de mayúsculas/minúsculas, búsqueda de subcadenas, división e interpolación.

Código

// Strings: length, substring, split, contains, trim, toUpper, interpolación

fn main() -> int {
    let texto: String = "  Hola Nyx  "

    // trim elimina espacios al inicio y al final
    let limpio: String = texto.trim()
    print("trim: '" + limpio + "'")

    // length
    print("longitud: " + int_to_string(limpio.length()))

    // substring(inicio, fin)  — fin es exclusivo
    let sub: String = limpio.substring(0, 4)
    print("substring(0,4): " + sub)

    // toUpper / toLower
    print("toUpper: " + limpio.toUpper())
    print("toLower: " + limpio.toLower())

    // contains
    print("contains 'Nyx': " + int_to_string(limpio.contains("Nyx")))
    print("contains 'Go': " + int_to_string(limpio.contains("Go")))

    // split
    let frase: String = "uno dos tres"
    let partes: Array = frase.split(" ")
    print("partes: " + int_to_string(partes.length()))
    for p in partes {
        print("  " + p)
    }

    // interpolación
    let lang: String = "Nyx"
    let v: int = 12
    print("Lenguaje: ${lang} v0.${v}")

    return 0
}

Salida

trim: 'Hola Nyx'
longitud: 8
substring(0,4): Hola
toUpper: HOLA NYX
toLower: hola nyx
contains 'Nyx': 1
contains 'Go': 0
partes: 3
  uno
  dos
  tres
Lenguaje: Nyx v0.12

Explicación

.trim() devuelve un nuevo string con los espacios en blanco al inicio y al final eliminados. El string original no se modifica — los strings de Nyx son valores inmutables; todos los métodos devuelven strings nuevos.

.substring(start, end) extrae una porción desde el índice start hasta, sin incluir, el índice end. Los índices son posiciones de byte. .length() devuelve la longitud en bytes del string, no la cantidad de puntos de código Unicode — para texto ASCII son lo mismo.

.contains(needle) devuelve 1 si se encuentra la subcadena, 0 en caso contrario. .split(separator) divide el string en cada ocurrencia del separador y devuelve un Array con las partes resultantes.

La interpolación de strings con ${expr} funciona dentro de cualquier string entre comillas dobles. La expresión puede ser una variable, una llamada a función o cualquier otra expresión — el resultado se convierte automáticamente a su representación de string y se incrusta en línea.

← Anterior Siguiente →

Source: examples/by-example/07-strings.nx