Fungsi terintegrasi
Estas funciones y metodos estan disponibles sin necesidad de importarlas.
Alias de consola
Sección titulada «Alias de consola»| Funcion | Equivalente en consola | Descripcion |
|---|---|---|
imprimir(texto) | consola.mostrar | Muestra texto con el color por defecto. |
imprimir_error(texto) | consola.mostrar_error | Muestra mensajes de error. |
imprimir_advertencia(texto) | consola.mostrar_advertencia | Mensajes de advertencia. |
imprimir_informacion(texto) | consola.mostrar_informacion | Mensajes informativos. |
imprimir_exito(texto) | consola.mostrar_exito | Mensajes de exito. |
imprimir_alerta(texto) | consola.mostrar_alerta | Mensajes que requieren atencion. |
imprimir_confirmacion(texto) | consola.mostrar_confirmacion | Mensajes de confirmacion. |
imprimir_depurar(texto) | consola.mostrar_depurar | Salida destinada a depuracion. |
Todas aceptan una unica cadena (texto). Si necesitas mostrar otros tipos, conviertelos mediante .texto() o utiliza cadenas interpoladas t"...".
Genera listas de enteros consecutivos.
lista<entero> del_cero_al_cinco = rango(5) // [0, 1, 2, 3, 4]lista<entero> de_dos_a_cinco = rango(2, 5) // [2, 3, 4]- Con un argumento (
rango(fin)) crea una lista desde0hastafin - 1. - Con dos argumentos (
rango(inicio, fin)) crea una lista desdeiniciohastafin - 1. - Los argumentos deben ser enteros no negativos y
iniciono puede ser mayor quefin.
Metodos de texto
Sección titulada «Metodos de texto»Los valores de tipo texto tienen metodos integrados para manipulacion y transformacion.
Longitud
Sección titulada «Longitud»texto mensaje = "Hola Mundo"entero tamaño = mensaje.longitud() // 10Transformaciones de caso
Sección titulada «Transformaciones de caso»| Metodo | Descripcion | Ejemplo |
|---|---|---|
.mayusculas() | Convierte a mayusculas | "hola".mayusculas() → "HOLA" |
.minusculas() | Convierte a minusculas | "HOLA".minusculas() → "hola" |
.capitalizar() | Primera letra mayuscula | "hola mundo".capitalizar() → "Hola mundo" |
.titulo() | Cada palabra capitalizada | "hola mundo".titulo() → "Hola Mundo" |
texto original = "hola MUNDO"
texto mayus = original.mayusculas() // "HOLA MUNDO"texto minus = original.minusculas() // "hola mundo"texto capital = original.capitalizar() // "Hola mundo"texto titulo = original.titulo() // "Hola Mundo"Recorte de espacios
Sección titulada «Recorte de espacios»| Metodo | Descripcion |
|---|---|
.recortar() | Elimina espacios al inicio y final |
.recortar_inicio() | Elimina espacios solo al inicio |
.recortar_final() | Elimina espacios solo al final |
texto con_espacios = " Hola Mundo "
texto recortado = con_espacios.recortar() // "Hola Mundo"texto sin_inicio = con_espacios.recortar_inicio() // "Hola Mundo "texto sin_final = con_espacios.recortar_final() // " Hola Mundo"Busqueda y verificacion
Sección titulada «Busqueda y verificacion»texto frase = "Hola Mundo Quetzal"
// Verificar contenidolog tiene = frase.contiene("Mundo") // verdaderolog empieza = frase.empieza_con("Hola") // verdaderolog termina = frase.termina_con("Quetzal") // verdadero
// Encontrar posicionesentero pos = frase.encontrar("Mundo") // 5entero ultima = frase.buscar_ultimo("o") // 9entero no_existe = frase.encontrar("xyz") // -1
// Contar ocurrenciasentero cuenta = "Hola Hola Hola".contar("Hola") // 3
// Comparacion insensible a mayusculaslog igual = "hola".igual_sin_caso("HOLA") // verdaderoReemplazo
Sección titulada «Reemplazo»texto original = "Hola Mundo Mundo"
// Reemplazar todas las ocurrenciastexto reemplazado = original.reemplazar("Mundo", "Quetzal")// "Hola Quetzal Quetzal"
// Reemplazar solo la primera ocurrenciatexto primero = original.reemplazar_primero("Mundo", "Quetzal")// "Hola Quetzal Mundo"Division y extraccion
Sección titulada «Division y extraccion»texto frase = "uno,dos,tres"
// Dividir por separadorlista<texto> partes = frase.dividir(",") // ["uno", "dos", "tres"]
// Partir por lineastexto lineas = "Linea 1\nLinea 2"lista<texto> lista_lineas = lineas.partir_lineas() // ["Linea 1", "Linea 2"]
// Extraer subtextotexto sub = frase.subtexto(0, 3) // "uno"texto izq = frase.izquierda(3) // "uno"texto der = frase.derecha(4) // "tres"Acceso por indice
Sección titulada «Acceso por indice»texto palabra = "Quetzal"
texto primer_char = palabra[0] // "Q"texto segundo = palabra[1] // "u"texto ultimo_char = palabra[-1] // "l"texto penultimo = palabra[-2] // "a"Repeticion e inversion
Sección titulada «Repeticion e inversion»texto base = "Hola "
texto repetido = base.repetir(3) // "Hola Hola Hola "texto invertido = base.invertir() // " aloH"Validacion
Sección titulada «Validacion»log es_num = "12345".es_numero() // verdaderolog es_ent = "12345".es_entero() // verdaderolog es_alfa = "abc123".es_alfanumerico() // verdadero
// Devuelven falso si contienen caracteres invalidoslog invalido = "12.34".es_entero() // falsolog con_espacios = "abc 123".es_alfanumerico() // falsoCodificacion
Sección titulada «Codificacion»texto original = "Hola Mundo"
// Codificar a Base64texto base64 = original.a_base64()// "SG9sYSBNdW5kbw=="
// Decodificar de Base64texto decodificado = base64.decodificar_base64()// "Hola Mundo"// Codificar para URLtexto url_codificada = "Hola Mundo!".a_enlace()// "Hola%20Mundo!"
// Decodificar de URLtexto url_decodificada = "Hola%20Mundo!".decodificar_enlace()// "Hola Mundo!"Unir listas a texto
Sección titulada «Unir listas a texto»lista<texto> palabras = ["Hola", "Mundo", "desde", "Quetzal"]texto unido = palabras.unir(" ") // "Hola Mundo desde Quetzal"
lista<entero> numeros = [1, 2, 3, 4, 5]texto lista_numeros = numeros.unir(", ") // "1, 2, 3, 4, 5"Metodos de conversion
Sección titulada «Metodos de conversion»Aunque se invocan como metodos (valor.texto(), cadena.entero()), forman parte del conjunto estandar del lenguaje y estan disponibles para todos los valores.
| Metodo | Descripcion |
|---|---|
.texto() | Convierte cualquier valor a texto |
.entero() | Convierte texto a entero |
.numero() | Convierte texto a numero decimal |
.log() | Convierte texto a valor logico |
.lista() | Convierte texto a lista |
// Texto a numerosentero numero_entero = "123".entero()numero numero_decimal = "123.45".numero()
// Texto a logicolog valor_logico = "verdadero".log()
// Cualquier tipo a textotexto desde_entero = (42).texto()texto desde_lista = [1, 2, 3].texto()Revisa la seccion de Conversion de tipos para conocerlos a detalle.
Modulos nativos
Sección titulada «Modulos nativos»El interprete distribuye el modulo quetzal/matematica con funciones adicionales:
Matematica
Sección titulada «Matematica»importar { Matematica } desde "quetzal/matematica"Operaciones basicas:
Matematica.sumar(a, b)Matematica.restar(a, b)Matematica.multiplicar(a, b)Matematica.dividir(a, b)
Operaciones avanzadas:
Matematica.potencia(base, exponente)Matematica.raiz_cuadrada(valor)Matematica.promedio(lista)Matematica.maximo(a, b)/Matematica.minimo(a, b)Matematica.hipotenusa(a, b)Matematica.logaritmo_base(valor, base)Matematica.seno(angulo)/Matematica.coseno(angulo)/Matematica.tangente(angulo)Matematica.absoluto(valor)Matematica.redondear(valor)Matematica.piso(valor)/Matematica.techo(valor)
Constantes:
Matematica.PI- 3.14159265359Matematica.TAU- 6.28318530718Matematica.E- 2.71828182845
importar { Matematica } desde "quetzal/matematica"
numero area_circulo = Matematica.PI * Matematica.potencia(5, 2)numero hipotenusa = Matematica.hipotenusa(3, 4) // 5numero raiz = Matematica.raiz_cuadrada(16) // 4La documentacion de cada modulo nativo se amplia conforme se publiquen nuevas versiones.