Tipe data
Tipos primitivos
Sección titulada «Tipos primitivos»| Tipo | Descripción | Ejemplo |
|---|---|---|
vacio | Ausencia de valor. Se utiliza como tipo de retorno para funciones que no devuelven valor. No puede usarse para declarar variables. | |
entero | Números enteros con signo de 64 bits. | entero edad = 32 |
número | Valores decimales de doble precisión. | número temperatura = 21.5 |
texto | Cadenas Unicode. | texto saludo = "Hola" |
log | Valores lógicos verdadero o falso. | log habilitado = verdadero |
Las listas pueden ser tipadas o genéricas.
lista<texto> nombres = ["Ana", "Luis", "María"]lista valores = [1, "dos", verdadero]Las listas mutables (lista<tipo> var) aceptan métodos como agregar, insertar, quitar_en, ordenar o sumar.
lista<entero> var numeros = [3, 1, 4]numeros.ordenar()consola.mostrar(numeros.texto()) // [1, 3, 4]JSON (jsn)
Sección titulada «JSON (jsn)»Los objetos JSON son de primer nivel y admiten acceso por punto, por clave o mediante métodos auxiliares.
jsn var persona = { nombre: "Ana", datos: { edad: 28, ciudad: "Guatemala" }, telefonos: ["555-1234", "555-5678"], activo: verdadero}
texto ciudad = persona.datos.ciudadpersona.establecer("activo", falso)lista<texto> claves = persona.claves()Conversión de tipos
Sección titulada «Conversión de tipos»Los valores ofrecen métodos de conversión explícitos. Si la operación no es posible, el intérprete genera un error de ejecución.
entero numero_entero = "123".entero()número numero_decimal = "123.45".número()log valor_logico = "verdadero".log()texto como_texto = numero_entero.texto()lista<entero> desde_texto = "1,2,3".lista()Para convertir listas o JSON a texto legible:
lista<texto> palabras = ["Hola", "Quetzal"]texto representacion = palabras.texto() // "[Hola, Quetzal]"texto json_pretty = persona.texto_formateado()Valores nulos
Sección titulada «Valores nulos»El intérprete reconoce el literal nulo, que puede asignarse a cualquier tipo.
entero valor_entero_nulo = nulonúmero valor_numero_nulo = nulotexto valor_texto_nulo = nulolog valor_logico_nulo = nulolista valores_lista_nula = nulolista<entero> valores_lista_tipada_nula = nulojsn valor_json_nulo = nuloCuando se accede a una propiedad inexistente en un jsn, el resultado es nulo. Comprueba la presencia de claves usando contiene_clave antes de convertir valores o llamar métodos sobre ellos.
jsn datos = { nombre: "Ana" }log tiene_activo = datos.contiene_clave("activo")log es_activo = tiene_activo y (datos.activo == verdadero)Comprueba la presencia de claves usando contiene_clave antes de operar con valores potencialmente nulos.