Intermedio
Diccionarios
Guardar valores por nombre en lugar de por posición.
Un diccionario guarda valores bajo una clave:
variable persona = { "nombre": "Ana", "edad": 16 }
imprimir(persona["nombre"])
imprimir(persona.edad) // lo mismo que persona["edad"]- Las claves son textos o números y van entre comillas:
{ nombre: "Ana" }es un error. d.campofunciona con claves que son nombres válidos; para las demás,d["clave con espacios"].
Agregar y cambiar
variable persona = { "nombre": "Ana", "edad": 16 }
persona.ciudad = "León"
persona.edad += 1
imprimir(persona)Preguntar antes de leer
Leer una clave que no existe es un error. Pregunta con tiene:
variable persona = { "nombre": "Ana" }
si (tiene(persona, "correo")) {
imprimir(persona.correo)
} si_no {
imprimir("Sin correo")
}Recorrer
Se recorren en el orden en que se agregaron las claves:
variable inventario = { "manzanas": 3, "peras": 5 }
para_cada clave, valor en inventario {
imprimir(clave, valor)
}
imprimir(claves(inventario), valores(inventario))Contar
Un uso típico: contar cuántas veces aparece cada cosa.
variable cuenta = {}
para_cada letra en "banana" {
si (tiene(cuenta, letra)) {
cuenta[letra] += 1
} si_no {
cuenta[letra] = 1
}
}
imprimir(cuenta)