Cadenas (Strings)¶
Las cadenas (strings por su nombre en Ingles) son utilizadas para almacenar y manipular textos.
Estas cadenas están rodeadas por comillas simples ( ' ) o comillas dobles ( “ ).
escribir("hola")
escribir('hola')
Se pueden usar comillas dentro de una cadena, siempre y cuando estas no coincidan con las comillas que las rodean.
escribir("El se llama 'Melvin'") //Devolverá: El se llama 'Melvin'
escribir('El se llama "Melvin"') //Devolverá: El se llama "Melvin"
Nota
Latino dispone de una librería para el manejo de cadenas, aquí.
Concatenar cadenas(textos)¶
Para concatenar o unir textos en Latino se hace uso de doble puntos (..), que a diferencia de otros lenguajes de programación los cuales usan el signo de más (+).
El doble punto (..) no solo es útil para unir textos, también números.
x = "Hola mundo"
y = ", Latino"
escribir(x..y) //Devolverá Hola mundo, Latino
escribir(1..2) //Devolverá 12
Caracteres especiales¶
Las cadenas al estar escritas entre comillas, se pudiera producir un error con la siguiente sintaxis:
escribir("Hola mundo, "Latino!" ¿Cómo estan?")
En el ejemplo anterior, La oración estaría cortada hasta “Hola mundo,” y Latino pensaría que el nombre Latino! es una variable, produciendo así un error de sintaxis.
La solución a este problema sería usar una barra invertida ( \ ).
La barra invertida ( \ ) convierte los caracteres especiales en textos:
/*
Devolverá:
Hola mundo, "Latino" ¿Cómo estan?
*/
escribir("Hola mundo, \"Latino!\" ¿Cómo estan?")
Además de usar la barra invertida para escribir textos, también es usada para indicar funciones.
A continuación se presentan los caracteres disponibles para usar en Latino.
Tabla de caracteres:¶
Carácter | Descripción |
---|---|
\ “ | Comillas dobles |
\ ' | Comillas simples |
\n | Nueva línea |
\r | Retorno de carro (Carriage return) |
\b | Remover (Backspace) |
\t | Tabulación horizontal |
\v | Tabulación vertical |
\f | Alimentación de formulario (Form feed) |
\a | Alerta (Beep) |
\0 | Carácter nulo |
\nnn | Carácter con valor octal nnn |
Nota
Los caracteres especiales descritos en la tabla superior fueron originalmente diseñados para el uso de máquina de escribir, teletipo, y máquina de fax.
Retorno de carro¶
Carácter a usar: \r
/*
A diferencia de \n, \r no crea una nueva línea
sino que devuelve el cursor al punto de partida
y sigue escribiendo. Esto proveca una sobre escritura.
Devolverá:
Latinoundo,
*/
escribir("Hola mundo,\rLatino")
Nota
Para saber la diferencia entre \n y \r ver enlace aquí
Remover¶
Carácter a usar: \b
/*
Este comando elimina el carácter previo a este.
Devolverá:
HolMundo
*/
escribir("Hola\bmundo")
Alerta¶
Carácter a usar: \a
/*
Hará sonar el Beep de la PC y Devolverá:
Hola mundo
*/
escribir("Hola mundo\a")
Carácter nulo¶
Carácter a usar: \0 *(cero)
/*
Elimina todo el texto posterío al comando
hasta el cierre de las comillas y Devolverá:
Hola mundo,2020
*/
anio = "2020"
escribir("Hola mundo,\0 Latino! y feliz "..anio)
Nota
De igual manera \0 al ser un valor nulo, también puede ser usado en condicionales lógicas:
Ejemplo 1
/*
Devolverá:
El valor no es nulo
*/
x = 5
si x != "\0"
escribir ("El valor no es nulo")
fin
Ejemplo 2
/*
Devolverá:
No es nulo
*/
x = 5
si x == "\0"
escribir ("Es un valor nulo")
sino
escribir ("No es nulo")
fin
Carácter con valor octal¶
Carácter a usar: \nnn
/*
Devolverá:
Hola mundo
*/
texto = "\110\157\154\141\040\155\165\156\144\157"
escribir(texto)
Textos de multiples líneas¶
Previamente vimos que las cadenas pueden ser textos líneales, pero también pueden ser textos de multiples líneas.
Para indicar cuando una cadena será de múltiples líneas, basta con dejar una de las comillas al inicio y otra al final del párrafo.
escribir("Ejemplo de texto de múltiples lineas:
---------------------------------------
En este ejemplo podemos observar
que Latino es perfectamente capaz de
procesar textos de múltiples líneas
siempre y cuando una de las dos comillas
se encuentre al inicio del párrafo y otra al final")
Textos como listas¶
Como en muchos otros lenguajes de programación, los textos son listas (arrays).
/*
Devolverá:
la letra "o"
*/
x = "Hola"
escribir(x[1])
Convertir números a cadenas¶
En Latino existe una funcion pre-definida llamada acadena( ) que nos convierte un número a una cadena(texto).
x = 100
escribir(tipo(x)) //Devolverá decimal
x = acadena("100")
escribir(tipo(x)) //Devolverá cadena