コンテンツにスキップ

データ型

TipoDescripciónEjemplo
vacioAusencia de valor. Se utiliza como tipo de retorno para funciones que no devuelven valor. No puede usarse para declarar variables.
enteroNúmeros enteros con signo de 64 bits.entero edad = 32
númeroValores decimales de doble precisión.número temperatura = 21.5
textoCadenas Unicode.texto saludo = "Hola"
logValores 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]

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.ciudad
persona.establecer("activo", falso)
lista<texto> claves = persona.claves()

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()

El intérprete reconoce el literal nulo, que puede asignarse a cualquier tipo.

entero valor_entero_nulo = nulo
número valor_numero_nulo = nulo
texto valor_texto_nulo = nulo
log valor_logico_nulo = nulo
lista valores_lista_nula = nulo
lista<entero> valores_lista_tipada_nula = nulo
jsn valor_json_nulo = nulo

Cuando 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.