Variables, tipos y números
var, const, los tipos básicos, interpolación y conversiones.
Hay cuatro tipos básicos:
| Tipo | Ejemplo | Detalle |
|---|---|---|
entero | 42 | Enteros de 64 bits |
decimal | 1.52 | Números con decimales |
cadena | "hola" | Texto |
bool | verdadero, falso | Verdadero o falso |
const dias_por_semana entero = 7
fn inicio()
var nombre = "Ana" // el tipo se deduce: cadena
var puntos entero = 0 // o se escribe explícitamente
puntos = puntos + 10
imprimir("${nombre} tiene ${puntos} puntos")
${...}dentro de una cadena inserta un valor.- Un entero se convierte solo a decimal cuando hace falta (
7.0 / 2da3.5), pero7 / 2es3: la división entre enteros descarta los decimales.%solo existe para enteros. "42".a_entero()devuelve un opcional (.Ningunosi no es un número); se combina conopara dar un valor por defecto:"abc".a_entero() o -1.precio.formato(2)escribe un número con dos decimales.
Programa completo
// Variables, tipos básicos y operaciones.
// Una constante no puede cambiar.
const dias_por_semana entero = 7
fn inicio()
// Cometa deduce el tipo a partir del valor.
var nombre = "Ana" // cadena
var edad = 12 // entero
var altura = 1.52 // decimal
var le_gusta_leer = verdadero // bool
// También puedes escribir el tipo.
var puntos entero = 0
// Una variable se puede reasignar.
puntos = puntos + 10
puntos = puntos * 2
// ${...} inserta un valor dentro de una cadena.
imprimir("${nombre} tiene ${edad} años y mide ${altura} m")
imprimir("¿Le gusta leer? ${le_gusta_leer}")
imprimir("Puntos: ${puntos}")
imprimir("Una semana tiene ${dias_por_semana} días")
// Las cadenas también se pueden unir con +.
imprimir("Hola, " + nombre + "!")
// Operaciones con números.
imprimir(7 + 3) // 10
imprimir(7 - 3) // 4
imprimir(7 * 3) // 21
imprimir(7 / 2) // 3: la división entre enteros descarta los decimales
imprimir(7 % 2) // 1: el resto de la división
imprimir(7.0 / 2) // 3.5: con un decimal el resultado es decimal
// Convertir entre texto y números.
// a_entero y a_decimal devuelven .Ninguno si el texto no es un número, así que
// se usan con "o" para dar un valor por defecto.
var entrada = "42"
var numero = entrada.a_entero() o 0
imprimir(numero + 1) // 43
imprimir("abc".a_entero() o -1) // -1
imprimir("Puntos: " + cadena(numero))
// formato escribe un número con la cantidad de decimales que quieras.
var precio = 3.14159
imprimir(precio.formato(2)) // 3.14