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.