Traducción no oficial al español rioplatense, generada con IA (Claude Sonnet 5.5) bajo la dirección y revisión de Jassiel Ovando. No es una publicación de Typst GmbH ni cuenta con su aval; ante cualquier duda, prevalece la documentación oficial en inglés. ¿Un error de traducción o una sugerencia? Reportalo. Tipografía: Reforma, de PampaType.

dictionaryDesde: siempreIr al código fuente

Un mapa de claves de tipo cadena de texto a valores.

Podés construir un diccionario encerrando entre paréntesis pares key: value separados por comas. Los valores no tienen por qué ser del mismo tipo. Como los paréntesis vacíos ya producen un array vacío, tenés que usar la sintaxis especial (:) para crear un diccionario vacío.

Un diccionario es conceptualmente similar a un array, pero se indexa por cadenas de texto en lugar de enteros. Podés acceder a las entradas de un diccionario y crearlas con el método .at(). Si conocés la clave de forma estática, alternativamente podés usar la notación de acceso a campos (.key) para acceder al valor. Para comprobar si una clave está presente en el diccionario, usá la palabra clave in.

Podés iterar sobre los pares de un diccionario con un bucle for. Esto itera en el orden en que se insertaron o declararon inicialmente los pares.

Los diccionarios se pueden sumar con el operador + y unir. También se pueden expandir en una llamada a función o en otro diccionario con el operador ..spread1. En cada caso, si una clave aparece varias veces, el último valor sobrescribe a los demás.

Ejemplo

#let dict = ( name: "Typst", born: 2019, ) #dict.name \ #(dict.launch = 20) #dict.len() \ #dict.keys() \ #dict.values() \ #dict.at("born") \ #dict.insert("city", "Berlin") #("name" in dict)
  1. 1Al expandir en un diccionario, si todos los elementos entre paréntesis se expanden, tenés que empezar el contenedor con (:, como en (: ..dict, ..other_dict). De lo contrario, se infiere que el contenedor es un array y se produce un error.

Constructor
Signo de pregunta
Ir al código fuente

Convierte un valor en un diccionario.

Tené en cuenta que esta función solo está pensada para convertir en diccionario un valor similar a un diccionario, no para crear un diccionario a partir de pares individuales. Para eso, usá la sintaxis de diccionario (key: value). Mirá también array.to-dict para convertir arrays en diccionarios.

ExpandirVer ejemplo
#dictionary(sys).at("version")
dictionary(module) → dictionary

value
module
ObligatorioPosicional
Signo de pregunta

El valor que se debe convertir en diccionario.

Funciones
Signo de pregunta

lenDesde: siempreIr al código fuente

La cantidad de pares del diccionario.

self.len() → int

atDesde: siempreIr al código fuente

Devuelve el valor asociado a la clave especificada en el diccionario.

Se puede usar en el lado izquierdo de una asignación si la clave ya está presente en el diccionario. Devuelve el valor por defecto si la clave no forma parte del diccionario, o falla con un error si no se especificó ningún valor por defecto.

También se puede acceder a los valores con la sintaxis de campos (por ejemplo, (key: 42).key) si no hace falta un valor por defecto.

self.at(
str,default: any,
) → any

key
str
ObligatorioPosicional
Signo de pregunta

La clave del elemento que se quiere obtener.

default
any

Un valor por defecto para devolver si la clave no forma parte del diccionario.

insertDesde: siempreIr al código fuente

Inserta un par nuevo en el diccionario. Si el diccionario ya contiene esta clave, se actualiza el valor.

Para insertar varios pares a la vez, alternativamente podés sumar otro diccionario con el operador +=.

self.insert(
str,any,
) → none

key
str
ObligatorioPosicional
Signo de pregunta

La clave del par que se debe insertar.

value
any
ObligatorioPosicional
Signo de pregunta

El valor del par que se debe insertar.

removeDesde: siempreIr al código fuente

Elimina un par del diccionario según su clave y devuelve el valor.

self.remove(
str,default: any,
) → any

key
str
ObligatorioPosicional
Signo de pregunta

La clave del par que se quiere eliminar.

default
any

Un valor por defecto para devolver si la clave no existe.

keysDesde: siempreIr al código fuente

Devuelve las claves del diccionario como un array, en orden de inserción.

self.keys() → array

valuesDesde: siempreIr al código fuente

Devuelve los valores del diccionario como un array, en orden de inserción.

self.values() → array

pairsDesde: siempreIr al código fuente

Devuelve las claves y los valores del diccionario como un array de pares. Cada par se representa como un array de longitud dos.

self.pairs() → array

filterDesde: 0.15.0Ir al código fuente

Produce un diccionario nuevo solo con los pares del original para los cuales la función indicada devuelve true.

ExpandirVer ejemplo: Uso básico
#{ (a: 0, b: 1, c: 2) .filter(v => v > 0) }
ExpandirVer ejemplo: Filtrado según la clave en lugar del valor
#{ (a: 0, b: 1, c: 2) .pairs() .filter(((k, v)) => k != "a") .to-dict() }
self.filter(function) → dictionary

test
function
ObligatorioPosicional
Signo de pregunta

La función que se aplica a cada valor. Debe devolver un booleano.

mapDesde: 0.15.0Ir al código fuente

Produce un diccionario nuevo en el que las claves son las mismas, pero los valores se transforman con la función indicada.

ExpandirVer ejemplo
#(a: 0, b: 1, c: 2).map(v => v + 1)
self.map(function) → dictionary

mapper
function
ObligatorioPosicional
Signo de pregunta

La función que se aplica a cada valor.