提示:本教程存在过时问题,更详细教程请阅读 小蓝书Typst 中文社区导航 FAQ
注意:该中文文档为社区驱动的非官网文档,可能存在错译、漏译或过时等问题,请以官网文档 Documentation 为准,如发现错漏,也欢迎 您的贡献镜像)。Typst 非官方中文交流 QQ 群:793548390
Warning: the Chinese document is a community-driven non-official document, there may be mistranslation, omission or outdated problems, please refer to the official website documentation.
Typst 中文文档

dictionary

A map from string keys to values.

You can construct a dictionary by enclosing comma-separated key: value pairs in parentheses. The values do not have to be of the same type. Since empty parentheses already yield an empty array, you have to use the special (:) syntax to create an empty dictionary.

A dictionary is conceptually similar to an array, but it is indexed by strings instead of integers. You can access and create dictionary entries with the .at() method. If you know the key statically, you can alternatively use field access notation (.key) to access the value. Dictionaries can be added with the + operator and joined together. To check whether a key is present in the dictionary, use the in keyword.

You can iterate over the pairs in a dictionary using a for loop. This will iterate in the order the pairs were inserted / declared.

Example

#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)
Preview

定义
函数和类型可以有与其关联的定义 (成员或方法)。可以使用 "." 操作符来访问调用它们。

len

The number of pairs in the dictionary.

self.len(
) -> int

at

Returns the value associated with the specified key in the dictionary. May be used on the left-hand side of an assignment if the key is already present in the dictionary. Returns the default value if the key is not part of the dictionary or fails with an error if no default value was specified.

self.at() -> any

key
str
必需参数位置参数
位置参数按顺序传入,不带名称。

The key at which to retrieve the item.

default
any

A default value to return if the key is not part of the dictionary.

insert

Inserts a new pair into the dictionary and return the value. If the dictionary already contains this key, the value is updated.

self.insert(
str, any,
)

key
str
必需参数位置参数
位置参数按顺序传入,不带名称。

The key of the pair that should be inserted.

value
any
必需参数位置参数
位置参数按顺序传入,不带名称。

The value of the pair that should be inserted.

remove

Removes a pair from the dictionary by key and return the value.

self.remove() -> any

key
str
必需参数位置参数
位置参数按顺序传入,不带名称。

The key of the pair to remove.

default
any

A default value to return if the key does not exist.

keys

Returns the keys of the dictionary as an array in insertion order.

self.keys(
) -> array

values

Returns the values of the dictionary as an array in insertion order.

self.values(
) -> array

pairs

Returns the keys and values of the dictionary as an array of pairs. Each pair is represented as an array of length two.

self.pairs(
) -> array